如何在同一个元素上使用jquery .delay(1000)

时间:2012-02-03 15:25:47

标签: jquery

我正在尝试以下但没有运气。

$("#mydiv").addClass('spin').delay(1000).$('#mydiv').removeClass('spin');

有什么建议吗?

2 个答案:

答案 0 :(得分:7)

简单的超时如何:

$("#mydiv").addClass('spin');

setTimeout(function () {
    $("#mydiv").removeClass("spin");
}, 1000);

Delay旨在使用效果队列,而不是延迟任意语句。您可以在文档页面上找到免责声明:

  

.delay()方法最适合在排队的jQuery之间延迟   效果。因为它是有限的 - 例如,它没有提供一种方法   取消延迟-.delay()不是JavaScript本机的替代品   setTimeout函数,这可能更适合某些用途   例。

答案 1 :(得分:2)

delay方法不仅仅是一个简单的等待计时器。您需要使用setTimeout调用来执行此操作。

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