60 votes

Jquery: comment dormir ou retarder?

Je veux déplacer l'objet, retarder 1000ms, puis le cacher,

je reçois le code:

 $("#test").animate({"top":"-=80px"},1500)
      .animate({"top":"-=0px"},1000)
      .animate({"opacity":"0"},500);
 

J'utilise ".animate ({" top ":" - = 0px "}, 1000)" pour mettre en œuvre le délai, ce n'est pas bon.

Je voudrais:

 $("#test").animate({"top":"-=80px"},1500)
      .sleep(1000)
      .animate({"opacity":"0"},500);
 

une idée? Merci! :)

95voto

Robert Harvey Points 103562

Qu'en est-il de .delay() ?

http://api.jquery.com/delay/

 $("#test").animate({"top":"-=80px"},1500)
          .delay(1000)
          .animate({"opacity":"0"},500);
 

56voto

mqchen Points 3621

Si vous ne pouvez pas utiliser la méthode du délai comme l'a suggéré Robert Harvey, vous pouvez utiliser setTimeout .

Par exemple.

 setTimeout(function() {$("#test").animate({"top":"-=80px"})} , 1500); // delays 1.5 sec
setTimeout(function() {$("#test").animate({"opacity":"0"})} , 1500 + 1000); // delays 1 sec after the previous one
 

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