我想用JavaScripts创建这样的逻辑代码:
if(a===b)
//wait 5 s
wait(5);
//recheck a===b
if a continue === b
--->do something
if not
do nothing
我们可以使用JavaScript或jQuery吗?
答案 0 :(得分:1)
使用Javascript,您可以使用超时。
if(a===b){
window.setTimeout(function(){
if(a===b){//Recheck a === b
do_something();
}
}, 5000);//Wait 5000 milliseconds before executing this function
}
答案 1 :(得分: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);
}
答案 2 :(得分:0)
如果我理解正确,你在jQuery中寻找.delay()
设置计时器以延迟执行队列中的后续项目。
似乎setTimeOut()
适合你。
var timeoutID = window.setTimeout(code, delay);