Comment faire pour configurer un compte à rebours en javascript
Je veux exécuter le code suivant:
ajaxUpdate(10);
Avec un délai de 1 seconde entre chaque itération. Comment puis-je faire cela?
J'espère que votre serveur peut gérer le battre. 🙂
OriginalL'auteur Click Upvote | 2009-01-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez aussi le faire avec
C'est la bonne pour cette situation parce b4 chaque itération, je veux vérifier une condition, et seulement si il l'est je veux de la minuterie à définir 4 la prochaine itération. Avec setInterval il irait à l'auto. sans vérification de la condition à laquelle je ne veux pas. Et ce 1 est plus simple
Je trouve la deuxième réponse (à partir de Kent Fredric) de façon plus complète et détaillée. Il présente également de multiples façons d'atteindre votre objectif. Cette réponse est bien aussi, mais c'est incomplet et n'est pas utile pour la communauté, donc, personnellement, je vous suggère d'accepter de Kent réponse.
OriginalL'auteur
Cela appel ajaxUpdate chaque seconde, jusqu'à ce qu'il soit arrêté.
Et si vous souhaitez l'arrêter plus tard:
Si vous ne souhaitez exécuter une fois cependant,
Fera l'affaire, et si vous voulez l'arrêter en cours d'exécution avant qu'il se déplace à l'exécution une fois
La "fenêtre" préfixe n'est pas strictement nessecary, mais c'est une bonne idée, parce que vous ne savez jamais quand quelqu'un d'autre peut, comme pour créer quelque chose d'autre avec le même nom dans le visible champ d'application qui se comporte différemment.
Pour une référence complète sur ce, je trouve toujours MDC Très Utile:
Aussi, vous pouvez lire cet article sur les minuteries par John Resig,
en reliant le javascript docs serait sympa de faire une addition: developer.mozilla.org/en/DOM/window.setInterval
Pourquoi devriez-vous préfixer par "fenêtre". ?
Vous n'en avez pas, c'est juste une bonne idée, comme je l'ai dit dans ma déclaration.
OriginalL'auteur
Vous pouvez utiliser
setInterval()
. Créer une fonction anonyme pour être appelé, et utiliser le temps en millisecondes:Mise à jour - merci @gs
dois-je utiliser var myInterval=... ou puis-je appeler le code sur le côté droit de l' = et il va fonctionner?
Vous avez seulement besoin de "var myInterval =" si vous voulez l'arrêter de nouveau à un certain point
Il fonctionnera sans affectation, mais comme Kent Fredric l'explique dans sa réponse, le transfert vous donne la possibilité d'annuler l'intervalle de temps à une date ultérieure.
OriginalL'auteur
Vous pouvez utiliser cette JavaScript Timer classe.
OriginalL'auteur
Vous pouvez utiliser jQuery Minuteries: http://plugins.jquery.com/project/timers
OriginalL'auteur
Vous pouvez utiliser la fonction setTimeout(String fonc, Entier de retard). Par exemple, pour exécuter votre code à chaque seconde que vous pouvez faire :
Espère que je réponds à votre question 😉
À l'aide de cordes n'est pas fortement recommandé, c'est trop ambigu.
Aussi, dans votre exemple, ajaxUpdate sera appelée avec un semi-aléatoire de la valeur, et non pas la valeur fixe '10' il a demandé.
Ok, merci pour le commentaire, je ne l'ai pas connu, il fonctionne avec une fonction comme premier paramètre.
OriginalL'auteur