SetTimeout en javascript
Résolu
123pierre
Messages postés
53
Statut
Membre
-
123pierre Messages postés 53 Statut Membre -
123pierre Messages postés 53 Statut Membre -
Bonjour a tous,
Pour essayer de comprendre setTimeout j'ai voulu faire le petit compte a rebours suivant.
Mais pourquoi diantre je passe directement a 0?
Je ne comprend pas pourquoi il n'y a pas de temporisation.
Merci a ceux qui vondront bien m'aider.
Voici le code.
Cordialement,
Pierre.
Pour essayer de comprendre setTimeout j'ai voulu faire le petit compte a rebours suivant.
Mais pourquoi diantre je passe directement a 0?
Je ne comprend pas pourquoi il n'y a pas de temporisation.
Merci a ceux qui vondront bien m'aider.
Voici le code.
<body>
<div id="clock">
</div>
</body>
<script language="javascript">
var maintenant=10;
function affiche(){
document.getElementById("clock").innerHTML=maintenant;
setTimeout(suivant(),5000);
}
function suivant(){
if (maintenant>0){
maintenant--;
affiche();
}
alert("c'est fini");
}
affiche();
</script>
Cordialement,
Pierre.
3 réponses
-
Plutôt voir du côté de
setTimeout(suivant(),5000);
Et y préférer
setTimeout("suivant()",5000);
Sinon, il exécute la fonction de suite. -
tu utilises dans ta fonction affiche la variable maintenant, elle n'existe pas dans la fonction il faut la passer en argument
idem pour l'autre fonction<body> <div id="clock"> </div> </body> <script language="javascript"> var maintenant=10; function affiche(maintenant){ document.getElementById("clock").innerHTML=maintenant; setTimeout(suivant(maintenant),5000); } function suivant(maintenant){ if (maintenant>0){ maintenant--; affiche(maintenant); } alert("c'est fini"); } affiche(maintenant); </script> -
Bonjour a vous deux et merci beaucoup pour votre aide.
Oui en fait j'ai mis des apostrophes et ca marche.
Encore merci,
Pierre.