Jquery:如何睡眠或延迟?

IT技术 javascript jquery
2021-03-20 02:18:30

我想向上移动对象,延迟 1000 毫秒,然后隐藏它,

我得到了代码:

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

我用 ".animate({"top":"-=0px"},1000)" 来实现延迟,这不好。

我想:

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

任何的想法?

2个回答

怎么样.delay()

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

$("#test").animate({"top":"-=80px"},1500)
          .delay(1000)
          .animate({"opacity":"0"},500);
这在这种情况下有效,但告诉线程休眠和延迟效果是两件完全不同的事情。jQuery 甚至在他们的文档中提醒了这一点。
2021-04-22 02:18:30

如果您不能使用delayRobert Harvey 建议方法,您可以使用setTimeout.

例如。

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