我有一个计时器倒计时javascript.It倒计时从3分钟。但如果用户重新加载页面我必须恢复倒计时。我的意思是用户加载页面倒计时从3分钟开始然后1分钟用户重新加载页面倒计时应该从2分钟开始。我怎么能这样做?我不想要任何我需要算法的代码。
答案 0 :(得分:1)
每次更改后,您需要将计数器的状态保存到某种持久存储中。
我只是使用:
localStorage['time_left'] = JSON.stringify(time_left);
加载页面时,首先尝试加载计时器的状态。
time_left = JSON.parse(localStorage['time_left']);
然后检查该值是否已存储。
if(time_left===undefined){// you're on fresh instance
在计时器结束后清除存储的变量也是个好主意。
祝你好运:>答案 1 :(得分:0)
您需要将当前时间保留在计时器的末尾,以便稍后可以访问它,即使在刷新页面之后也是如此。我会想到Local storage,但其他方法也许是可能的。
不是将计时器设置为3分钟,而是set an interval每秒运行一次功能。您将两条信息保存到存储中:
每次间隔功能计时,您都会增加通过的总时间,并检查它是否已经高于预期的总量。条件为真时执行自定义操作。不要忘记clear the interval,否则它会无限期地无用地继续下去。
答案 2 :(得分:0)
var remaining = localStorage.remaining || 180;
window.setInterval(function(){
remaining = remaining - 1;
document.querySelector('#countdown').innerHTML = remaining;
}, 1000);
window.onbeforeunload = function(){
// Save remaining time as the window is closed or navigated elsewhere
localStorage.remaining = remaining;
};