首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery:等待/延迟1秒,不执行代码

jQuery:等待/延迟1秒,不执行代码
EN

Stack Overflow用户
提问于 2012-01-17 22:29:10
回答 8查看 519K关注 0票数 152

我无法在jQuery中使用.delay方法:

代码语言:javascript
运行
复制
$.delay(3000); // not working
$(queue).delay(3000); // not working

我使用一个while循环来等待,直到一个不受控制的变化值大于或等于另一个值,并且我找不到任何方法在X秒内停止执行。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-01-17 22:32:02

$.delay用于延迟队列中的动画,而不是停止执行。

您需要使用setTimeout递归调用每秒执行检查的方法,而不是使用while循环

代码语言:javascript
运行
复制
var check = function(){
    if(condition){
        // run when condition is met
    }
    else {
        setTimeout(check, 1000); // check again in a second
    }
}

check();
票数 192
EN

Stack Overflow用户

发布于 2012-07-21 09:31:01

你也可以这样延迟一些操作:

代码语言:javascript
运行
复制
setTimeout(function (){

  // Something you want delayed.

}, 5000); // How long do you want the delay to be (in milliseconds)? 
票数 249
EN

Stack Overflow用户

发布于 2012-01-17 22:43:04

jQuery的delay函数旨在与效果和效果队列一起使用,请参阅delay docs和其中的示例:

代码语言:javascript
运行
复制
$('#foo').slideUp(300).delay(800).fadeIn(400);

如果你想观察一个变量的变化,你可以这样做

代码语言:javascript
运行
复制
(function() {
    var observerInterval = setInterval(function() {
        if (/* check for changes here */) {
           clearInterval(observerInterval);
           // do something here
        }
    }, 1000);
})();
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8896327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档