2014-09-21 90 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