【问题标题】:Why delay() function did not work in jquery?为什么延迟()函数在jquery中不起作用?
【发布时间】:2016-06-28 07:40:27
【问题描述】:

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

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

此代码目前在 html 页面中工作,但在我的项目(MVC)中工作没有延迟。请建议。

【问题讨论】:

    标签: jquery delay


    【解决方案1】:

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

    要进行实际延迟,您可以使用普通的setTimeout()。

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-08-29
        • 2021-01-30
        • 1970-01-01
        • 2011-05-31
        • 1970-01-01
        • 1970-01-01
        • 2020-07-02
        相关资源
        最近更新 更多