JQuery: l'utilisation du délai avec le format HTML ou texte ne fonctionne pas
j'ai un problème étrange avec la fonction de délai ici à l'aide de la fonction html.
J'ai mis un texte html en utilisant $( '#element').html( 'Hello World');
Après la mise en place du texte, je veux obtenir ce texte disparaissent dans les 3 secondes.
Alors, la prochaine ligne j'ai écrit:
$('#element').delay( 3000).html( ' ');
Ce un ne marche pas, il définit le code html de  
sans attendre les 3 secondes, il ressemble à jquery est ignorer la fonction de temporisation. L'utilisation de ce avec fadeOut par exemple fonctionne très bien. Je suppose que cela a quelque chose à faire avec cette file d'attente de chose en retard.
Mais pourquoi ne pas ce travail. Son assez simple, attendre 3 secondes, puis exécutez la fonction html.
Quelqu'un pourrait-il conseiller? Merci.
PS: Pour votre info, j'utilise jQuery 1.4.2
source d'informationauteur NovumCoder
Vous devez vous connecter pour publier un commentaire.
delay() par défaut à l'animation de la file d'attente, pour des effets comme fadeOut()etc. Vous devez utiliser setTimeout() à la place:
De http://api.jquery.com/delay/:
.html()
n'est pas une file d'attente de la fonction. Si vous voulez que cela se produise dans l'ordre dans l'animation de la file d'attente, vous aurez à.file()
vous-même, comme ceci:Si vous n'êtes pas le chaînage des animations ou quelque chose comme cela, utiliser
setTimeout()
ousetInterval()
(selon ce qui est approprié à la situation) directement,.delay()
est juste un wrapper poursetTimeout()
et il n'y a pas de raison d'utiliser un code supplémentaire ou de la complexité quand il n'est pas nécessaire.