现在已经在 fiddle 中玩了 4 个小时,但找不到解决方案......
HTML:
Real Time Data: <input type="checkbox" id="dataStream"/>
js:
var chartInt = null;
$("#dataStream").change(function() {
if(this.checked) {
var chartInt = setInterval(function() { alert('checked') }, 7000);
} else {
clearInterval(chartInt);
chartInt = null;
alert('unchecked');
}
});
注意:由于 clearInterval 不起作用,您需要单击 jsfiddle 中的“运行”以使其在单击复选框后停止,因此两次警报之间有 7 秒的时间...
这是 jsfiddle 的链接:http://jsfiddle.net/5udtC/5966/
谢谢!
最佳答案
不要在局部范围内重新定义变量
var chartInt = null;
$("#dataStream").change(function() {
if(this.checked) {
chartInt = setInterval(function() { // no "var" here
alert('checked')
}, 7000);
} else {
clearInterval(chartInt);
alert('unchecked');
}
});
关于javascript - 无法使用 clearInterval 停止 setInterval,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22416114/