为什么delay()函数在jquery中不起作用?

时间:2016-03-13 07:23:35

标签: jquery delay

我尝试使用序列和特定延迟进行数字工作。我编写了这段代码。我在页面中使用了jquery UI。

   $('#messageDelete').delay(100).toggle("blind");
        $('#messageDelete').delay(900).toggle("blind");
        $('#parentProgress').delay(1000).toggle("fade").remove();

此代码目前在html页面中有效,但在我的项目(MVC)中没有使用延迟。请咨询。

2 个答案:

答案 0 :(得分:1)

.delay()仅适用于使用jQuery动画队列的方法,例如动画,因为它通过在队列中插入延迟动画来工作,所以等待它的唯一事物是动画队列中的其他东西。它不适用于常规jQuery方法,因为它们只是立即执行evne虽然在动画队列中有一个延迟。

要实际延迟,您只需使用常规setTimeout()

setTimeout(function() {
    $('#messageDelete').toggle("blind");
}, 100);

setTimeout(function() {
    $('#messageDelete').toggle("blind");
}, 900);

setTimeout(function() {
    $('#parentProgress').toggle("fade").remove();
}, 1000);

其他相关答案:Jquery delay function not workingjQuery: code stops working after adding delay() and removeClass()以及jQuery within a JavaScript for loop not working

答案 1 :(得分:-1)

我也有这种困境。你试过把它们放到一行吗?我不认为jQuery可以同时做多个延迟。

试试这个: (也许请给我们一些更多的代码)

   $('#messageDelete').delay(100).toggle("blind").('#messageDelete').delay(900).toggle("blind").('#parentProgress').delay(1000).toggle("fade").remove();