JavaScript 定时器暂停

标签 javascript timer

代码如下。你会如何设置一个按钮来暂停计时器并在按下恢复时恢复?下面的//标记是我放置暂停和恢复标记的位置。感谢您的所有帮助!!

<head>
<script type="text/javascript">

var d1 = new Date();
d1.setHours(1,0,0);

function f(){
var h= d1.getHours();
var m= d1.getMinutes();
var s=d1.getSeconds();
m= (m<10)?"0"+m: m;
s= (s<10)? "0"+s : s;

var el= document.getElementById("inputid");
el.value= h+":"+m+":"+s;
d1.setSeconds(d1.getSeconds()-1);
if( h==0 && m==0 && s==0 ) clearTimeout(t)
var t= setTimeout("f()",1000);
}

</script>
</head>
<body>
<form><input type="text" id="inputid"></form>
<script type="text/javascript">f()</script>

//pause and resume buttons would go here.
</body>

最佳答案

另一种方法是:当按下按钮时,设置一个变量,如paused。在您的 f 函数中,如果 paused 为真,则立即返回。

setInterval(function(){
  if (paused) return;
  // update the dom
}, 1000);

输入

<input type="button" value="Pause" onClick="window.paused=true" />

Here is a basic fiddle

关于JavaScript 定时器暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11563382/

相关文章:

javascript - 带倒计时器的 PHP mysql javascript 游戏

Java,15个益智游戏的倒计时器?请帮助我理解计时器

Javascript 需要复制这个吗?

javascript - 如何将一个数组转换为另一个数组

java - 如何在循环中更改 JLabel 的文本而不切换得太快以至于用户看不到它?

android - 如何解决更新/刷新时的问题 - 显示动画?

java - Timer.schedule() 执行后留下一个打开的线程

javascript - 使用 setsrat 和 setEnd 选择部分文本

javascript - 将 JavaScript 多维数组转换为 Java 数组

php - 执行 cURL 后的脚本不起作用。页面不断重新加载