【问题标题】:Jquery delay timeout function?jQuery延迟超时功能?
【发布时间】:2011-01-13 14:46:13
【问题描述】:

如果我的 php 脚本返回成功,我真的很想让它工作。

回显成功

我希望它应该有一条消息说祝贺它的所有设置,但至少停留 5 秒,但它似乎从来没有工作我已经尝试过 elay 等,但仍然遇到问题,请帮助。

这是我的代码,它可以工作,但是大约一秒钟后,它会重定向到很远的地方以快速阅读它。

 if($.trim(data) == 'Congratulations'){
setTimeout(function(){
    $('#congrats').fadeIn(1000,function(){
        window.location.href='http://example.co.uk/tour/first-time-users';
    });
},5500);

【问题讨论】:

  • 您获得的代码将在五秒半后淡入“恭喜”元素。什么不起作用?什么是“问题”?

标签: jquery timeout delay


【解决方案1】:

认为您需要的是:

if($.trim(data) == 'Congratulations') {
    $('#congrats').fadeIn(1000);
    window.setTimeout(function() {
        window.location.href = 'http://example.co.uk/tour/first-time-users';
    }, 5500);
}

这将显示带有动画效果的congrats div,然后在 5.5 秒后重定向。

【讨论】:

  • 谢谢你的传说正是我所需要的。
【解决方案2】:

set time out 需要一个字符串作为函数...

试试

if($.trim(data) == 'Congratulations'){
    setTimeout("function(){
        $('#congrats').fadeIn(1000,function(){
            window.location.href='http://example.co.uk/tour/first-time-users';
        });
    }",5500);
}

【讨论】:

  • 为什么人们仍然不断地将字符串传递给 setTimeout 函数?我经常看到这种情况。
  • 这是一种糟糕的做法。请不要推荐它。
  • @Šime Vidas gooood question ... lambda 和给出函数名称之间的一些奇怪的组合
【解决方案3】:

这样的事情可能会有所帮助:)

setTimeout(function() {
    $('#congrats').fadeIn(1000, function(){
        window.location = 'http://www.examle.com';
    }}
}, 5500);

超时需要自己的延迟。

【讨论】:

  • 我不想恭喜它淡入 5 秒,我希望它立即显示,但在页面重定向前等待 5 秒。
【解决方案4】:

我认为更好的选择是:

if($.trim(data) == 'Congratulations'){
    $('#congrats').fadeIn(1000, function() { setTimeout(function(){
        window.location.href='http://example.co.uk/tour/first-time-users';
    }, 5000)});
}

【讨论】:

    猜你喜欢
    • 2012-03-01
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多