var x = 2;
setInterval(function() {
while(z){}; //do nothing if z = 1, therefor stalling and blocking the next steps:
change(x++);
if (x > 39) x = 1;
}, 7000);
程序中的其他位置:按下按钮暂停按钮,将z切换(xor-ing)为1或0以阻止间隔功能。否则,如果z == 0,请跳过此步骤。
我知道有很多原因,这是低效和糟糕的编程,可能会导致JS出现问题,但想做一些能完成同样事情的事情。我是一个强大的C程序员,但javascript对我来说是全新的,我的C方法似乎都不在我的javascript能力范围内。我基本上试图在按下暂停按钮时暂停间隔功能。
编辑:change()函数很长并且并不重要,它可以是一组任意指令,感谢您的回复
答案 0 :(得分:-1)
最好存储间隔ID
var x = 2;
var intervalID = setInterval(function() {
change(x++);
if (x > 39) x = 1;
}, 1000);
当按下暂停按钮时 - 使用clearInterval实现暂停
clearInterval(intervalID);
https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval