我想知道如何实时更改 setInterval 的速度,例如:
if (score < 10)
repeater = setInterval(function() {
spawnEnemy();
}, 1000);
if (score => 10)
repeater = setInterval(function() {
spawnEnemy();
}, 500);
我知道这种方法行不通,但是有没有办法可以通过其他方式实现这一目标?
jsFiddle Demo http://jsfiddle.net/vdt1hdms/
一旦运行,就无法更改间隔速度本身。唯一的方法是设置一个速度变量,然后清除间隔并以新速度开始新的间隔。
var speed = 500;
var changeSpeed = speed;
repeater = setInterval(repeaterFn, speed);
function repeaterFn(){
spawnEnemy();
if( changeSpeed != speed ){
clearInterval(repeater);
speed = changeSpeed;
repeater = setInterval(repeaterFn, speed);
}
}
function changeRepeater(){
changeSpeed = 700;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)