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

2022-08-30 02:23:14

我无法让该方法在jQuery中工作:.delay

$.delay(3000); // not working
$(queue).delay(3000); // not working

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


答案 1

您也可以通过这种方式延迟某些操作:

setTimeout(function (){
  
  // Something you want delayed.
            
}, 5000); // How long you want the delay to be, measured in milliseconds.

答案 2

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

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

var check = function(){
    if(condition){
        // run when condition is met
    }
    else {
        setTimeout(check, 1000); // check again in a second
    }
}

check();