我很想知道如何清除这些间隔。我已经尝试过clearInterval(),但它不起作用不要对我大喊我是javascript的新手。如果你能清除这些间隔,我会很高兴。名为gameOver()的函数应该停止它们。
function startGame(){
spawnLadybug();
newGame();
clearInterval();
setInterval(function(){moveLadybug()}, 250);
setInterval(function(){spawnWall()}, 5000);
spawnFood();
}
答案 0 :(得分:1)
您只需要保存setInterval()
标识符,以便日后点击clearInterval()
:
// set Up interval
var IntervalId = window.setInterval(function(){console.log('looping !');}, 250);
// Cancel interval
window.clearInterval(IntervalId);
为了完整性'此外,如果有AngularJS的用户,语法与$interval
服务几乎相同:
var IntervalId = $interval(function(){console.log('looping !');},250);
$scope.$on('$destroy', function () { $interval.cancel(IntervalId); });
答案 1 :(得分:0)
要清除间隔,您必须保存setInterval函数的返回值,并使用它来清除它,如下所示:
var moveBugInterval = setInterval(function(){moveLadybug()}, 250);
...
clearInterval(moveBugInterval);