S'il vous plaît pardonnez-moi si c'est une évidence.Comment écrire une boucle dans jQuery qui attend que chaque fonction soit terminée avant de continuer la boucle
J'ai une quantité inconnue d'éléments sur une page, que j'ai besoin de faire défiler un à la fois et faire des choses. Cependant, j'ai besoin que la boucle se mette en pause jusqu'à ce que les fonctions utilisées sur les éléments soient terminées, puis continue à l'itération suivante.
J'ai essayé de le faire dans une boucle $ .each, mais cela a rapidement déclenché les commandes et terminé sans attendre qu'elles se terminent.
Des idées?
$('elem').each(function(){
$(this).fadeIn().wait(5000).fadeOut();
});
C'est ce que j'ai, très simple. J'ai la fonction wait() d'ici: jquery cookbook site.
Le problème est, la boucle doesnt wait - la commande réelle fonctionne comme prévu, c'est juste qu'ils se déclenchent tous à la fois.
Toute aide appréciée, merci.
EDIT: Après cette exécution, je veux exécuter ensuite à nouveau la boucle, de sorte que la liste des elems sera fanée dans/à nouveau dans l'ordre
EDIT2: Avez depuis obtenu le jQuery 1.4.2 lib, utilisait 1.3.2, d'où la fonction personnalisée wait(). Maintenant, en utilisant delay() comme mentionné par lobstrosity. Géré pour bricoler quelque chose proche de ce dont j'ai besoin de sa réponse, grâce à la lobstrosité :).
aaaahh c'est assez proche, merci. Et j'utilisais 1.3.2, je viens de recevoir la dernière version, merci de l'avoir signalé. Le seul problème avec celui-ci est qu'une fois que je fais les actions à $ ('.elem'), je pourrais vouloir tout recommencer. Je vais éditer la question pour refelct cela, aurait dû le mentionner, merci. – alan
Je ne l'ai pas encore parfait, mais cela a répondu à ma question, merci beaucoup. – alan