Jquery delay()函数

时间:2011-12-06 14:16:18

标签: jquery delay

我有一些jquery,我正在尝试对它应用延迟,但似乎无法让它工作。

当前的jquery如下......

image.css({"visibility" : "hidden"}).removeClass("image-background");

我已尝试根据jquery网站(http://api.jquery.com/delay/)对此进行修改以应用延迟......

image.delay(800).css({"visibility" : "hidden"}).removeClass("image-background");

但这似乎没有任何区别。

有人能看到这个问题吗?或者我如何解决问题?

提前致谢。

2 个答案:

答案 0 :(得分:41)

delay()函数仅适用于在元素上排队的操作。最常见但并非总是如此,这些是animate()方法创建的操作。在这种情况下,请使用setTimeout在指定的时间间隔后运行一些代码。

试试这个:

setTimeout(function() {
    image.css({"visibility" : "hidden"}).removeClass("image-background");
}, 800);

答案 1 :(得分:35)

.delay()不仅适用于动画。

适用于queue

中的任何内容
image.delay(800)
     .queue(function( nxt ) {
         $(this).css({"visibility":"hidden"}).removeClass("image-background");
         nxt(); // continue the queue
     });

对于下选民:

HERE'S A DEMO