[英]How to clear repeatedly set setInterval function in JQuery
我使用下面的代碼根據條件遞歸調用函數。 但是一旦設置了setInterval,就不清楚了,並且一次又一次地設置了setInterval。 如何清除重復設置的setInterval函數?
function testFunction(ttlcount){
jQuery.ajax({url:URL,
type: "POST",
data: { 'action_sub':'action'},
success:function(res){
if(res < 0){
if(interval != 'undefined'){
clearInterval(setInterval); //clearinterval
}
interval = setInterval(function(){testFunction(ttlcount)},1000);
} else {
clearInterval(interval);//clearinterval
//Do something ...
}
},error:function(e){
}});
}
嘗試
setTimeout(callback function, timeout)
這只會運行一次,如果你需要運行這個單一計時器,那么再次調用它。
if(interval != 'undefined'){
clearInterval(testFunction); //clearinterval
}
這應該是:
if(interval !== undefined){
clearInterval(interval); //clearinterval
}
當您調用setInterval時,您將獲得一個返回實際設置間隔的引用。 這是您需要傳遞給clearInterval以停止它的引用,而不是由setInterval執行的回調。
在2019年,你可以使用我的jQuery / Zepto插件設置你想要的每個狀態https://github.com/xpectmore/jQuery-Interval
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.