如何停止在setInterval()内声明的函数,如
var start = function(){
setInterval(function(){//DO SOMETHING},3000)
};
var stop = function() {
clearInterval(start);
};
$('button.start').click(function(){
start();
});
$('button.stop').click(function(){
stop();
});
但是我仍然无法在这里停止setInterval函数。需要一些帮助。感谢
答案 0 :(得分:2)
声明变量interval
。
setInterval将创建一个id。
然后将setInterval
id分配到inertval
变量。
如果想要停止setInterval
,请将inertval
传递到clearInterval
试试这个
var interval;
var start = function(){
interval=setInterval(function(){
//DO SOMETHING
},3000)
};
var stop = function() {
clearInterval(interval);
};
答案 1 :(得分:0)
你的方法很接近,但并不完全正确。 setInterval
会返回intervalID
,然后可以传递给clearInterval
。
这样的事情会起作用:
var start = function(){
window.startIntervalID = setInterval(function(){//DO SOMETHING},3000)
};
var stop = function() {
clearInterval(window.startIntervalID);
};
请参阅setInterval和clearInterval的MDN文档。