我期待着開始然後停止一個setInterval,我遇到過的所有例子都用全局變量做這個,但我寧願不使用一個,如果我可以的話。停止setInterval()沒有全局變量
我有一個按鈕來啓動setInterval和另一個來停止它。我可以啓動它就好了,但是我無法在不使用全局變量的情況下停止它。
這是我有:
function counter() {
function stop() {
clearInterval(timer);
}
var timer = setInterval(function() {
console.log(new Date());
}, 1000);
return stop;
}
$('#start').click(function() {
counter();
});
$('#stop').click(function() {
stop(); // this of course doesn't work
});
與'const'或'let'一起使用塊? – Li357
在IIFE中包裝整個東西 – Pointy
您應該將stop函數移出計數器函數,以便在$('stop')內調用它。click(function(){}) – user93