我只是想在这里指出正确的方向。我是 javascript 的初学者,所以有一些基本的东西我不明白。谷歌搜索似乎没有帮助,因为显然这个问题从来没有被真正问过。
我有一个游戏,按下 Go 按钮后会有 60 秒倒计时。现在,当 60 秒倒计时运行时,我想运行一个函数orientationStuff(),它可以在orientationchange 上执行各种操作。这没问题...但是
我只想在 60 秒倒计时期间运行orientationStuff()。因此,一旦它达到 0,就不再执行orientationStuff() 操作。但是,一旦您再次单击“Go”,我希望倒计时再次开始(因此orientationStuff()
最佳答案
简单的答案是您使用 setTimeout
带有您想要执行的函数和 60000 毫秒
setTimeout(function(){
// do whatever you want to happen here
},60000)
就使用 jQuery 开始而言,如果您有一个带有 go
类的按钮,您将使用
$(document).on('click','.go',function(){
setTimeout(function(){
// Game over man! GAME OVER!!
},60000)
});
我猜您可能想停止计时器 - 假设玩家赢得了游戏。在这种情况下,您从计时器捕获“id”,并且可以使用 clearTimeout
来停止它
var gameTimerId = null;
$(document).on('click','.go',function(){
gameTimerId = setTimeout(function(){
// Hury, before someone calls clearTimeout
},60000)
});
/// where the player wins
clearTimeout(gameTimerId);
setTimeout
运行该函数一次。如果你想重复执行一个函数,你也可以使用一个类似的函数setInterval
。
关于javascript - 如何停止和启动函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27327219/