Jquery: how to sleep or delay?

JavascriptJquery

Javascript Problem Overview


i want move up the object, delay 1000ms , then hide it,

i get the code:

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

i use ".animate({"top":"-=0px"},1000)" to implement delay, it's not good.

i want:

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

any idea?

Javascript Solutions


Solution 1 - Javascript

How about .delay() ?

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

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

Solution 2 - Javascript

If you can't use the delay method as Robert Harvey suggested, you can use setTimeout.

Eg.

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKoerrView Question on Stackoverflow
Solution 1 - JavascriptRobert HarveyView Answer on Stackoverflow
Solution 2 - JavascriptmqchenView Answer on Stackoverflow