【问题标题】:Countdown storage javascript倒计时存储javascript
【发布时间】:2020-02-23 09:19:52
【问题描述】:

如何在这段代码中添加存储空间?

当用户刷新页面时,我希望倒计时不从0开始。谢谢

function getRandomInt(min, max) {
   return Math.floor(Math.random() * (max - min + 1)) + min;
}

function random_countdown(hour_sel, min_sel, sec_sel) {
   random_hour = getRandomInt(3, 3)
   random_min = getRandomInt(14, 14)
   random_sec = getRandomInt(59, 59)

   setInterval(function() {
      random_sec = random_sec - 1;
      if (random_sec < 0) {
         random_sec = 59
         random_min = random_min - 1
      }

      if (random_min < 0) {
         random_min = 59
         random_hour = random_hour - 1
      }

      jQuery(hour_sel).text(random_hour)
      jQuery(min_sel).text(random_min)
      jQuery(sec_sel).text(random_sec)

      // console.log (random_hour+' '+random_min+' '+random_sec)
   }, 1000)
}

random_countdown('.hours_sel', '.minutes_sel', '.seconds_sel')

【问题讨论】:

  • setTimeout 不准确。使用 setTimeout,您的函数所做的是“在 1000 毫秒后的某处运行此代码”。我猜这不是主要问题,但如果您在一个选项卡中运行程序,然后切换到另一个选项卡,setTimeout 将不会运行(我认为)。相反,请使用 requestForAnimationFrame 并计算当前时间与您第一次设置的随机时间之间的差异。
  • 我阅读了这篇文章,但不幸的是我无法更改代码。例如,我希望它从 3 小时开始。我试图修改代码,但它不起作用:(

标签: javascript storage countdown


【解决方案1】:

您可以使用 localStorage 在浏览器中执行此操作。 此变量具有用于保存和恢复数据的 setItem 和 getItem 方法。 你可以了解更多here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    相关资源
    最近更新 更多