2015-10-03 158 views
0

如何停止)內的setInterval(聲明的功能,如停止內部的setInterval(聲明)使用clearInterval()函數

var start = function(){ 
    setInterval(function(){//DO SOMETHING},3000) 
}; 

var stop = function() { 
    clearInterval(start); 
}; 

$('button.start').click(function(){ 
    start(); 
}); 

$('button.stop').click(function(){ 
    stop(); 
}); 

但我仍是不能夠在這裏停止setInterval函數。需要一點幫助。謝謝

回答

2

聲明變量interval

setInterval將創建一個id。

然後將setInterval id分配到該inertval變量中。

如果想停止setInterval然後傳遞到inertvalclearInterval

嘗試這樣

var interval; 
var start = function(){ 
    interval=setInterval(function(){ 
     //DO SOMETHING 
    },3000) 
}; 

var stop = function() { 
    clearInterval(interval); 
}; 
0

你的做法是接近,但不完全正確。 setInterval返回intervalID,然後可以傳遞給clearInterval

像這樣的工作:

var start = function(){ 
    window.startIntervalID = setInterval(function(){//DO SOMETHING},3000) 
}; 

var stop = function() { 
    clearInterval(window.startIntervalID); 
}; 

setIntervalclearInterval見MDN文檔。

相關問題