当条件为真时停止并恢复 Javascript 执行
Stop and resume Javascript execution when condition is true
首先,我写这个问题是因为那里的其他答案对我没有帮助。
我有一个正在运行 setTimeOut 函数的页面,当用户单击某个div 时,会显示一个输入,所以我需要 setTimeOut 停止,直到他输入一些文本并按 ok,然后 setTimeOut 可以继续它。
请任何帮助将非常有用:)
使用 clearTimeout
setTimeout 返回一个 id,该 id 可用于稍后执行超时操作。
作为直接来自 MDN 的副本,它应该看起来像这样;
var myVar;
function myFunction() {
myVar = setTimeout(function(){ alert("Hello") }, 3000);
}
function myStopFunction() {
clearTimeout(myVar);
}
如果您需要暂停超时而不是停止超时,则需要自己计算剩余时间,然后在清除第一个超时后使用新setTimeout
开始新的超时
setTimeout 只是将操作安排在将来的某个时间发生。
如果你只需要取消超时时发生的下一件事,那么你可以使用函数 window.setTimeout 返回的句柄来调用 window.clearInterval,然后在将来的某个时间点再次调度它。
例如,如果您出于某种原因不想使用前面的方法,因为您不想重新安排间隔,那么您可以在闭包中创建一个标志来指示是否应该运行该函数。
var shouldHappen = true;
window.setTimeout(function(){
if(shouldHappen){
// Do some stuff.
}
}, 1000)
相关文章:
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- javascript恢复样式
- 在文本区域禁用javascript定义的keydown事件并恢复默认行为
- 如何从本地存储恢复javascript值
- 如何在 v8 中正确恢复 Javascript 上下文
- 如何在恢复函数之前等待 JavaScript 承诺解析
- Javascript:保存和恢复浏览器窗口大小
- Javascript:保存和恢复样式状态在IE中不起作用
- Javascript:onclick函数工作一次,页面就会恢复到原来的状态
- 在IE8中恢复被覆盖的javascript方法
- 在没有F12工具的情况下恢复Internet Explorer上的javascript日志和错误
- 如何通过在javascript中单击浏览器的后退按钮将页面恢复到以前的状态
- 恢复javascript函数中的href属性
- 如何在Visual Studio代码中恢复Javascript语法错误检测
- 当条件为真时停止并恢复 Javascript 执行
- PhantomJS-暂停/恢复javascript执行
- Rhino:能够暂停、保存状态和恢复javascript
- 如何暂停和恢复javascript计时器
- 暂停和恢复 javascript 中的 setInterval
- 使用源映射恢复JavaScript缩小