首页 > 解决方案 > 让 coutdown 使用 localStorage

问题描述

我正在努力使此代码与 localStorage 一起使用,所以如果有人可以帮助我,那就太棒了。如何在刷新页面时实现 localStorage 以保存倒计时?

  var hour = 5 * 3600;
  var minute = 5 * 60;

  var deadline = hour + minute;

  function formatTime(seconds) {
    var hide = false;
    var h = Math.floor(seconds / 3600),
        m = Math.floor(seconds / 60) % 60;
    return h + m;

  }


  var counter = setInterval(timer, 1000);

  function timer() {
    deadline--;
    if (deadline < 0) {
      return clearInterval(counter);
    } 

    $('#deadline').html(formatTime(deadline));
  }

标签: javascriptjquerylocal-storage

解决方案


每次值减小时,将值存储在 localStorage 中。当您重新加载页面时,检查存储的时间是否存在,如果存在,将其存储在您的期限变量中,否则将期限设为初始时间。

 var hour = 5 * 3600;
 var minute = 5 * 60;

 var deadline = hour + minute;

 function formatTime(seconds) {
   var hide = false;
   var h = Math.floor(seconds / 3600),
     m = Math.floor(seconds / 60) % 60;
   console.log(h)
   console.log(m)
   return h + m;

 }

 var counter;
 var storedTime = localStorage.getItem('deadline')
 if (storedTime) {
   deadline = Number(storedTime)
 }
 counter = setInterval(timer, 1000);



 function timer() {
   --deadline;
   localStorage.setItem('time', deadline);
   if (deadline < 0) {
     return clearInterval(counter);
   }

    $('#deadline').html(formatTime(deadline));
 }

推荐阅读