如何暂停setInterval()函数?

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

例如,也许我有一个秒表来告诉您您浏览网页的秒数。有一个“暂停”和“恢复”按钮。

的原因是,如果用户在第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。

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

以上是 如何暂停setInterval()函数? 的全部内容, 来源链接: utcz.com/qa/436058.html

回到顶部