javascript - 如何停止和启动函数?

标签 javascript jquery

我只是想在这里指出正确的方向。我是 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/

相关文章:

javascript - 如何比较两种不同 React 状态下的数组对象

javascript - Redux 无法将存储传递给 React 组件

php - 第 1861 行出现 fatal error : Call to undefined function q() in ajaxCRUD. class.php

javascript - 从 asp 下拉列表调用 Javascript 函数

javascript - 无法更新 JavaScript 全局变量

javascript - JQuery - 重置计数时再次绑定(bind)()

jquery - 删除打印按钮

javascript - CSS:将悬停动画与其他类相关动画分开

javascript - 如何在 Safari 中从方框 A 到方框 B 添加和删除带有 <optgroup> 的 <option>?

javascript - jQuery fadeIn() 应该只显示一个 div,正在显示多个 div