我正在使用Google CDN的jQuery 1.7.1版,并提供以下代码:
$(menuInstance).delay(2000).removeClass('loading').html(ul);
然而,延迟被忽略,它会直接进入我的删除类并插入HTML。有什么想法延迟被忽略的想法?感谢
答案 0 :(得分:4)
你不能那样使用.delay
。您需要使用setTimeout
。
setTimeout(function() {
$(menuInstance).removeClass('loading').html(ul);
}, 2000);
delay
只能用于animation个队列。
答案 1 :(得分:3)
延迟仅适用于可以像动画一样排队的方法:http://api.jquery.com/delay/
您需要使用超时。我们可以使用http://api.jquery.com/queue/
答案 2 :(得分:3)
这不是.delay()
所做的......
查看http://api.jquery.com/delay/
上的文档<强>引用强>
说明:设置计时器以延迟执行队列中的后续项。
和
.delay()
方法最适合延迟排队的jQuery效果。因为它是有限的 - 例如,它没有提供取消延迟的方法 -.delay()
不能替代JavaScript的本机setTimeout
函数,这可能更适合某些用例。
正如您所看到的,它只适用于jQuery队列。
答案 3 :(得分:3)
http://jsbin.com/ohipew/edit#javascript,html
$(menuInstance).delay(2000).queue(
function (a)
{
$(this).removeClass('loading').html(ul)
});
答案 4 :(得分:1)
.delay()
用于延迟jquery视觉效果。
对于.remove()
,您应该使用setTimeout
。