JS CountDown 请不要在刷新时重新加载

米奇

好吧,我的代码应该可以工作,但事实并非如此。每次我重新加载时间时,我的倒计时都会从他的初始值开始。

由于我对 JS 不熟悉,因此您可以了解一下

<script>
  var upgradeTime = 172801;
var seconds = upgradeTime;
function timer() {
  var days        = Math.floor(seconds/24/60/60);
  var hoursLeft   = Math.floor((seconds) - (days*86400));
  var hours       = Math.floor(hoursLeft/3600);
  var minutesLeft = Math.floor((hoursLeft) - (hours*3600));
  var minutes     = Math.floor(minutesLeft/60);
  var remainingSeconds = seconds % 60;
  function pad(n) {
    return (n < 10 ? "0" + n : n);
  }
  document.getElementById('countdown').innerHTML = pad(days) + ":" + pad(hours) + ":" + pad(minutes) + ":" + pad(remainingSeconds);
  if (seconds == 0) {
    clearInterval(countdownTimer);
    document.getElementById('countdown').innerHTML = "Completed";
  } else {
    seconds--;
  }
}
var countdownTimer = setInterval('timer()',1000,function() {
            secondPassed();
            if (seconds === 0) {
                eraseCookie(seconds);
            } else {
                createCookie(seconds, seconds, 7);
            }
        });
</script>

我怎么称呼它

<h1>Server Release in : <span id="countdown" class="timer"></span></h1>

我只是希望我的计时器在您每次重新加载页面时不刷新。任何形式的帮助将不胜感激

麻烦

干得好。

var upgradeTime = 172801; //Timer length in ms
var timerMS = window.localStorage.getItem("date");
startTimer();

function timer() {
    var difference = timerMS - Date.now();
    if (difference <= 0) {
        startTimer();
        return;
    }
    var seconds = (difference / 1000).toFixed(0),
        days = Math.floor(seconds / 24 / 60 / 60),
        hoursLeft = Math.floor((seconds) - (days * 86400)),
        hours = Math.floor(hoursLeft / 3600),
        minutesLeft = Math.floor((hoursLeft) - (hours * 3600)),
        minutes = Math.floor(minutesLeft / 60),
        remainingSeconds = seconds % 60;

    function pad(n) {
        return (n < 10 ? "0" + n : n);
    }
    document.getElementById('countdown').innerHTML = pad(days) + ":" + pad(hours) + ":" + pad(minutes) + ":" + pad(remainingSeconds);
    setTimeout(timer, 1000);
}
function startTimer() {
    if (!timerMS || timerMS < Date.now()) {
        timerMS = Date.now() + upgradeTime;
        window.localStorage.setItem("date", timerMS);
    }
    timer();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jquery.countdown.js显示错误的日期

来自分类Dev

Google DevTools:当我重新加载它时,请重新打开我的js和css文件

来自分类Dev

countdown.js提供了不正确的时差

来自分类Dev

Countdown.js如何显示0个单位

来自分类Dev

Backbone.js刷新视图而无需重新加载页面

来自分类Dev

刷新Angular JS Factory而无需重新加载页面

来自分类Dev

Next.js在保存时重新加载

来自分类Dev

在ReactJs中渲染时,react-countdown重置

来自分类Dev

当浏览器重新加载时,所有对话都会消失。我需要在机器人框架节点 js 中重新开始旧对话

来自分类Dev

dimple.js显示X轴标签,但是如果“ value”为null,请不要在图表上放置圆圈

来自分类Dev

从页面打开开始的JS Countdown计时器用于网站计数

来自分类Dev

仅在页面刷新时路由加载-Ember JS

来自分类Dev

不要在初始渲染时加载选项

来自分类Dev

Angular JS-UI-Router:单击时重新加载状态

来自分类Dev

MeteorJS重新加载时未运行外部script.js?

来自分类Dev

Angular JS-UI-Router:单击时重新加载状态

来自分类Dev

如何防止 js 变量在 Polymer 中重新加载时被重置?

来自分类Dev

单击事件时页面重新加载 - React JS

来自分类Dev

vue.js使用计时器自动重新加载/刷新数据

来自分类Dev

不要在回栈后重新加载Fragment的数据

来自分类Dev

改进OBS中的countdown.lua以在计时器完成时更改场景

来自分类Dev

未捕获到的TypeError:$(...)。countdown不是通过Rails-assets-pipeline使用jcountdown时的函数

来自分类Dev

jQuery.countdown在计时器完成时使用按钮启动新计时器

来自分类Dev

setInterval countDown更新时间

来自分类Dev

如何避免使用Express在Node.js中刷新时重新发送数据

来自分类Dev

node.js / socket.io:重新连接时刷新表?

来自分类Dev

不要在node.js中读取JSON对象

来自分类Dev

RecyclerView 刷新时重新加载相同的数据

来自分类Dev

如何处理在某天结束并在另一天重新开始计数的计数器(CountDown)?

Related 相关文章

  1. 1

    jquery.countdown.js显示错误的日期

  2. 2

    Google DevTools:当我重新加载它时,请重新打开我的js和css文件

  3. 3

    countdown.js提供了不正确的时差

  4. 4

    Countdown.js如何显示0个单位

  5. 5

    Backbone.js刷新视图而无需重新加载页面

  6. 6

    刷新Angular JS Factory而无需重新加载页面

  7. 7

    Next.js在保存时重新加载

  8. 8

    在ReactJs中渲染时,react-countdown重置

  9. 9

    当浏览器重新加载时,所有对话都会消失。我需要在机器人框架节点 js 中重新开始旧对话

  10. 10

    dimple.js显示X轴标签,但是如果“ value”为null,请不要在图表上放置圆圈

  11. 11

    从页面打开开始的JS Countdown计时器用于网站计数

  12. 12

    仅在页面刷新时路由加载-Ember JS

  13. 13

    不要在初始渲染时加载选项

  14. 14

    Angular JS-UI-Router:单击时重新加载状态

  15. 15

    MeteorJS重新加载时未运行外部script.js?

  16. 16

    Angular JS-UI-Router:单击时重新加载状态

  17. 17

    如何防止 js 变量在 Polymer 中重新加载时被重置?

  18. 18

    单击事件时页面重新加载 - React JS

  19. 19

    vue.js使用计时器自动重新加载/刷新数据

  20. 20

    不要在回栈后重新加载Fragment的数据

  21. 21

    改进OBS中的countdown.lua以在计时器完成时更改场景

  22. 22

    未捕获到的TypeError:$(...)。countdown不是通过Rails-assets-pipeline使用jcountdown时的函数

  23. 23

    jQuery.countdown在计时器完成时使用按钮启动新计时器

  24. 24

    setInterval countDown更新时间

  25. 25

    如何避免使用Express在Node.js中刷新时重新发送数据

  26. 26

    node.js / socket.io:重新连接时刷新表?

  27. 27

    不要在node.js中读取JSON对象

  28. 28

    RecyclerView 刷新时重新加载相同的数据

  29. 29

    如何处理在某天结束并在另一天重新开始计数的计数器(CountDown)?

热门标签

归档