【问题标题】:how to store timer in localstorage and resume on page reload如何将计时器存储在本地存储中并在页面重新加载时恢复
【发布时间】:2020-11-14 23:13:56
【问题描述】:

我的页面上有一个计时器,它从页面加载的那一刻开始计时,以分钟和秒为单位显示。还有一个保存这个时间的按钮,当我们重新加载页面时,计时器应该从我们保存的时间开始计时。但是在重新启动时它会写入 NAN:NAN。如何正确保存和恢复计时?

let timerInterval;
let timerStart;
let time = 0;
 
function updateTime() {
  time++;
  let mins = parseInt(time / 60);
  let secs = time % 60;
  if(mins < 10) {
    mins = '0' + String(mins);
  }
  if(secs < 10) {
    secs = '0' + String(secs);
}
document.querySelector('#timespan').innerHTML = `${mins}:${secs}`;  
} 
 
function startTimer() {
  timerInterval = setInterval(updateTime, 1000);
  time = 0;
  timerStart = true;
};
 
function stopTimer() {
  clearInterval(timerInterval);
  time = 0;
  timerStart = false;
}
 
document.querySelector('.save-btn').addEventListener('click', () => {
  localStorage.setItem('currentTime', document.querySelector('#timespan').innerHTML);
}
 
window.addEventListener('load', () => {
  document.querySelector('#timespan').innerHTML = localStorage.getItem('currentTime');
}, false );

【问题讨论】:

  • 你能解决你的问题吗?是否有更多信息可以改进答案?

标签: javascript dom local-storage


【解决方案1】:

您需要在调用startTimer 之后解析localStorage 内容以补充您的全局time 变量之前(您发布的代码中未显示)。

【讨论】:

    猜你喜欢
    • 2020-07-31
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 2018-11-12
    • 2018-07-02
    • 1970-01-01
    相关资源
    最近更新 更多