2014-09-21 124 views
-1

我会很感兴趣,我可以如何清除这些间隔。我已经尝试clearInterval()但它没有工作不要喊我,我是新的JavaScript。如果你能清除这些间隔,我会很开心。称为gameOver()的函数应该阻止它们。清除间隔javascript

function startGame(){ 

spawnLadybug(); 
newGame(); 
clearInterval(); 
setInterval(function(){moveLadybug()}, 250); 
setInterval(function(){spawnWall()}, 5000); 
spawnFood(); 

} 
+0

您是否阅读过文档,其中解释了如何做到这一点? – SLaks 2014-09-21 17:08:23

+0

我在呐喊! ;) – achedeuzot 2014-09-21 17:08:37

+0

可能重复的[setInterval和如何使用clearInterval](http://stackoverflow.com/questions/5978519/setinterval-and-how-to-use-clearinterval) – ShaneQful 2014-09-21 17:12:21

回答

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); }); 
0

要清除你必须保存setInterval函数的返回值,并用它来CL的间隔听起来像这样:

var moveBugInterval = setInterval(function(){moveLadybug()}, 250); 
... 
clearInterval(moveBugInterval); 
+0

这似乎工作,但我不知道我怎么做在一个函数中设置这些间隔。所以我可以有一个函数清除它们,并启动它们? – KeddoXZ 2014-09-21 17:21:46

+0

您必须在两个函数都可以看到的范围内声明变量:http://pastebin.com/xC7pi8AZ。 – ShaneQful 2014-09-21 21:42:29