0

我想用 JavaScript 制作这样的逻辑代码:

if(a===b)
//wait 5 s
wait(5);
//recheck a===b
if a continue === b
--->do something
if not
do nothing 

我们可以用 JavaScript 或 jQuery 来做吗?

4

3 回答 3

1

使用 Javascript,您将为此使用超时。

if(a===b){
  window.setTimeout(function(){
    if(a===b){//Recheck a === b
      do_something();
    }
  }, 5000);//Wait 5000 milliseconds before executing this function
}
于 2013-11-06T07:07:37.570 回答
1

这是可能的,但你需要稍微不同地看待它——它不是一个线性的步骤序列,因为没有等待或睡眠命令。相反,您可以安排一个函数在指定的延迟后运行。

所以你的步骤实际上看起来像:

if (a===b) {
    // set function X to happen in 5 seconds
}

function X() {
    if (a == b) { // still equal
        // do something
    }
}

在实际代码中,可能如下所示:

function checkIt() {
    if (a == b) {
        doSomething();
    }
}

if (a == b) {
    setTimeout(checkIt, 5000);
}

...或更精简的版本:

if (a == b) {
    setTimeout(function() {
        if (a == b) doSomething();
    }, 5000);
}
于 2013-11-06T07:07:54.077 回答
0

.delay()如果我理解正确,您正在jQuery中寻找

设置一个计时器来延迟队列中后续项目的执行。

看起来setTimeOut()很适合你。

var timeoutID = window.setTimeout(code, delay);
于 2013-11-06T07:04:32.770 回答