2009-09-25 9 views
0

Je souhaite afficher les données de modification de l'heure sur une page Web. J'utilise le framework JQuery. J'utilise le code suivant comme test: afficher un nombre aléatoire différent chaque seconde. Ça ne marche pas. Pourquoi ? Qu'est-ce qu'un bon fonctionnement?JQuery, mise à jour régulière d'une section DIV

<html> 
    <head> 
    <title>test</title> 
    <script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      function refreshRandomNumber() { 
      var lHtmlBlob = "<p> random = " + Math.random() + "</p>"; 
      $('#random_number').html(lHtmlBlob); 
      } 
     setInterval(refreshRandomNumber(), 1000); 
     }); 
    </script> 
    </head> 

    <body> 
    <div id="random_number"></div> 
    </body> 
</html> 

Répondre

2

Vous devez passer setInterval juste la fonction référencée par refreshRandomNumber et non la valeur de retour de cette fonction ce que vous faites en utilisant refreshRandomNumber(). Donc, essayez ceci:

setInterval(refreshRandomNumber, 1000); 
+0

Merci, cela fonctionne parfaitement maintenant. J'ai commencé à apprendre le JavaScript il y a deux heures, mon premier gotcha ^^ – Monkey

2

Petite différence. au lieu de:

setInterval(refreshRandomNumber(), 1000); 

utilisation:

setInterval(refreshRandomNumber, 1000); 

qui passe la fonction plutôt que la valeur de retour de la fonction.