【发布时间】:2020-03-05 23:15:42
【问题描述】:
我正在使用我在 google 中找到的倒计时计时器,我只是修改了一些代码行以使计时器向上计数而不是倒计时。我只想让我的计时器计数,然后当我单击停止按钮时它会停止。我的问题是,即使页面刷新或浏览器重新启动,我也希望计时器不会重置。据我所知,我需要为此使用 cookie,但我不知道如何将其合并到我的代码中。请帮忙..
这是我的代码。
(function() {
$(document).ready(function() {
var time = "00:00:00",
parts = time.split(':'),
hours = +parts[0],
minutes = +parts[1],
seconds = +parts[2],
span = $('#countup');
function correctNum(num) {
return (num < 10) ? ("0" + num) : num;
}
var timer = setInterval(function() {
seconds++;
if (seconds > 59) {
minutes++;
seconds = 0;
if (minutes > 59) {
hours++;
seconds = 0;
minutes = 0;
if (hours >= 24) {
alert("timer finished");
}
}
}
span.text(correctNum(hours) + ":" + correctNum(minutes) + ":" + correctNum(seconds));
}, 1000);
});
})()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span id="countup">00:00:00</span>
【问题讨论】:
-
这在您建立某种机制之前是不可能的,因此将最新的时间范围存储在某个本地或服务器存储中。在本地,您可以使用
localStorage -
嗨@NotABot你能帮我把它和我的代码结合起来吗?我不太确定该怎么做,或者你可以给我一个关于如何做的提示。谢谢。
-
您可以发现任一用户使用 beforeunload 重新加载/关闭窗口(浏览器),然后将时间范围存储在
localStroage请在此处阅读有关 beforeunload 事件 @987654321 @ -
感谢@NotABot 将阅读有关 beforeunload 的链接以进一步了解。
标签: javascript html cookies timer