【发布时间】:2017-01-13 16:22:18
【问题描述】:
我正在尝试制作一个小脚本,其中屏幕将每 100 毫秒随机更改一次背景颜色,您可以通过按一个按钮来打开和关闭它。我可以让它开始,但我不能让它停止。
这里是切换的主要代码:
var on = -1;
function change() {
on = on*-1;
if (on == true) {
var light = window.setInterval(disco,100);
}
else {
window.clearInterval(light);
}
}
disco 是改变背景颜色的函数。
我尝试了许多不同的变体,但我认为这是我得到的最接近的。尽管on 变量在1 和-1 之间正确切换,但现在单击该按钮只能设置另一个间隔。我没有正确使用 clearInterval 吗?
完整的 JSFiddle 在这里:http://jsfiddle.net/VZdk9/
我正在尝试练习 JavaScript,所以请不要使用 jQuery :)
【问题讨论】:
-
您需要将
var light;放在函数之外,否则在第二次调用关闭操作时它将是“未定义”。
标签: javascript setinterval clearinterval