190 votes

jQuery : puis-je appeler delay() entre addClass() et autres ?

Quelque chose d’aussi simple que :

``

ne semble pas fonctionner. Quelle serait l’alternative plus simple ?

387voto

PetersenDidIt Points 17498

Vous pouvez créer un nouvel élément de la file d’attente pour faire votre retrait de la classe :

Ou à l’aide de la méthode dequeue :

La raison pour laquelle vous devez appeler ou est faire jQuery de savoir que vous avez terminé avec cet élément en file d’attente et qu’il devrait passer à celle qui suit.

52voto

Jasper Points 941

Autant que je sache, la méthode de retard ne fonctionne que pour les modifications de CSS numériques.

À d’autres fins, JavaScript est livré avec une méthode setTimeout :

2voto

prodigitalson Points 38549

Délai opère sur une file d’attente. et autant que je sache css manipulation (autrement que par animate) n’est pas en attente.

0voto

Pablo Martinez Points 13

Essaye ça:

 function removeClassDelayed(jqObj, c, to) {    
    setTimeout(function() { jqObj.removeClass(c); }, to);
}
removeClassDelayed($("#div"), "error", 1000);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X