2013-03-01 5 views
0

Je viens de créer un générateur de citation aléatoire comme une forme de pratique. Tout fonctionne très bien, mais j'ai un problème qui me casser les pieds:Générateur de citation aléatoire

var quotes = [(insert a bunch of quotes here) ]; 

var length = quotes.length; 
var rand = Math.round(Math.random()*(length - 1)); 

function showQuote(){document.write(quotes[rand]);} 
showQuote(); 

Pourquoi faut-il imprimer uniquement lorsque l'appel document.write fait partie d'une fonction et non pas sur son propre?

+0

vous avez besoin d'une certaine façon à la sortie du texte dans le navigateur - plutôt que d'utiliser document.write, pourquoi ne pas mettre le texte dans un élément et ajouter l'élément à le document? – kinakuta

+1

'document.write' fonctionne bien en dehors d'une fonction .... – Nix

+0

Pour moi, il [imprime seul] (http://jsbin.com/iyerav/1/edit) sans avoir besoin de s'enrouler dans une fonction . – Antony

Répondre

1

Placez le write() dans la balise body:

<html> 
<body> 
<script type="text/javascript"> 
    var quotes = ['s', 'e', 's', 'e' ]; 

    var length = quotes.length; 
    var rand = Math.round(Math.random()*(length - 1)); 

    document.write(quotes[rand]); 
</script> 

</body></html>