感谢您的关注,抱歉形成了我非常糟糕的英语。
我使用jQuery有一个很好的功能:
function(){
//do something
if(certain conditions){
return true;
}else{
return false;
}
}
该函数运行良好...但我需要每隔X秒执行一次,而函数返回false。如果函数返回true,则必须停止循环。
我不知道该怎么做...你能帮助我吗?提前谢谢......
答案 0 :(得分:1)
您可以随时使用优质的window.setInterval()
:
var interval = 500;
function callback(){
//your function call here
var result = yourFunction();
//check if we need to clear the timeout
if(result == true){
clearTimeout(handle);
}
}
var handle = setInterval(callback, interval)
这是一个片段。
var interval = 500;
function callback(){
//your function call here
var result = yourFunction();
//check if we need to clear the timeout
if(result == true){
clearTimeout(handle);
}
}
var handle = setInterval(callback, interval)
function yourFunction(){
document.write(new Date().toLocaleTimeString())
if(Math.random() > 0.2){return false}
else return true;
}

答案 1 :(得分:0)
您可以将setInterval与clearInterval结合使用。
var interval = setInterval(function(){
if(certain conditions)
{
// this will prevent the function from running again
clearInterval(interval);
return true;
}
return false;
},1000); // 1000 ms or, 1 sec
答案 2 :(得分:0)
您正在寻找window.setTimeout功能。
function yourFunction(){
//do something
if(certain conditions){
return true;
}else{
return false;
}
}
function loop(){
if(yourFunction()){
window.setTimeout(loop, 1000);
}
}
loop();