当前位置: 首页 > 面试题库 >

如何暂停setInterval()函数?

蒋承教
2023-03-14
问题内容

如何使用Java脚本暂停和恢复setInterval()函数?

例如,也许我有一个秒表来告诉您您浏览网页的秒数。有一个“暂停”和“恢复”按钮。 clearInterval()在此处不起作用
的原因是,如果用户在第40秒和第800毫秒单击“暂停”按钮,则当他单击“恢复”按钮时,经过的秒数必须在之后增加1
200毫秒。如果我在计时器变量上使用clearInterval()函数(单击暂停按钮时),然后在计时器变量上再次使用setInterval()函数(单击恢复按钮时),经过的秒数将增加仅在1000毫秒后返回1,这会破坏秒表的准确性。

那我该怎么做呢?


问题答案:

您可以使用标志来跟踪状态:

var output = $('h1');

var isPaused = false;

var time = 0;

var t = window.setInterval(function() {

  if(!isPaused) {

    time++;

    output.text("Seconds: " + time);

  }

}, 1000);



//with jquery

$('.pause').on('click', function(e) {

  e.preventDefault();

  isPaused = true;

});



$('.play').on('click', function(e) {

  e.preventDefault();

  isPaused = false;

});


h1 {

    font-family: Helvetica, Verdana, sans-serif;

    font-size: 12px;

}


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<h1>Seconds: 0</h1>

<button class="play">Play</button>

<button class="pause">Pause</button>

这就是我要执行的操作,我不确定您是否可以暂停setInterval。

注意:此系统很简单,并且对于不需要高精确度的应用程序非常有效,但是它不会考虑两次滴答之间的时间间隔:如果您在半秒钟后单击暂停,然后单击播放您的时间将关闭半秒钟。



 类似资料:
  • javascript中是否有类似setInterval()的方法,在用户离开选项卡时停止,在用户再次进入选项卡时恢复?

  • 问题内容: 我想停止处理程序中的此间隔重复运行。那有可能吗? 问题答案: 您需要在点击处理程序范围内将的返回值设置为变量,然后像这样使用:

  • 问题内容: 最近,我开始将ucos-ii移植到Ubuntu PC。 众所周知,在ucos-ii中无法通过在pthread的回调函数中的“ while”循环中添加一个标记来执行暂停和恢复来模拟“进程”,以执行暂停和恢复操作(类似于下面的解决方案)。因为ucos- ii中的“进程”可以随时暂停或恢复! 我在下面的网站上找到了一种解决方案,但是由于过时而无法构建。它使用Linux中的进程来模拟ucos-

  • 暂停脚本的当前线程。 #p::Pause ; 按一次 Win+P 会暂停脚本. 再按一次则取消暂停. Pause [, On|Off|Toggle, OperateOnUnderlyingThread?] 参数 On|Off|Toggle 如果为空或省略, 则它默认为 Toggle. 否则, 请指定下列单词的其中一个: Toggle:如果在当前线程下的潜在线程处于运行状态,则暂停当前线程,否则让潜

  • 问题内容: 我在viewDidAppear中有一个图像,并用以下代码对其进行了动画处理: 我想在点击时暂停动画,如果再次点击它则继续播放动画。 问题答案: 暂停和恢复动画的2个功能,我从这里开始转换为Swift。 我有一个按钮可以暂停或恢复在中初始化的动画:

  • 本文向大家介绍请写一个sleep(暂停)函数相关面试题,主要包含被问及请写一个sleep(暂停)函数时的应答技巧和注意事项,需要的朋友参考一下