我有一些jquery,我正在尝试对它应用延迟,但似乎无法让它工作。
当前的jquery如下......
image.css({"visibility" : "hidden"}).removeClass("image-background");
我已尝试根据jquery网站(http://api.jquery.com/delay/)对此进行修改以应用延迟......
image.delay(800).css({"visibility" : "hidden"}).removeClass("image-background");
但这似乎没有任何区别。
有人能看到这个问题吗?或者我如何解决问题?
提前致谢。
答案 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
});
对于下选民: