倒计时不能正常工作

问题描述:

以下脚本用于倒数计时器,但页面上的刷新从头开始。任何人都可以向我推荐相同的解决方案吗? 我改变了一切,但失败了,谁能告诉我该怎么办?倒计时不能正常工作

function getTimeRemaining(endtime) { 
    var t = Date.parse(endtime) - Date.parse(new Date()); 
    var seconds = Math.floor((t/1000) % 60); 
    var minutes = Math.floor((t/1000/60) % 60); 
    var hours = Math.floor((t/(1000 * 60 * 60)) % 24); 
    var days = Math.floor(t/(1000 * 60 * 60 * 24)); 

    return { 
     'total': t, 
     'days': days, 
     'hours': hours, 
     'minutes': minutes, 
     'seconds': seconds 
    }; 
} 

function initializeClock(id, endtime) { 
    var clock = document.getElementById(id); 
    var daysSpan = clock.querySelector('.days'); 
    var hoursSpan = clock.querySelector('.hours'); 
    var minutesSpan = clock.querySelector('.minutes'); 
    var secondsSpan = clock.querySelector('.seconds'); 

    function updateClock() { 
     var t = getTimeRemaining(endtime); 

     daysSpan.innerHTML = t.days; 
     hoursSpan.innerHTML = ('0' + t.hours).slice(-2); 
     minutesSpan.innerHTML = ('0' + t.minutes).slice(-2); 
     secondsSpan.innerHTML = ('0' + t.seconds).slice(-2); 

     if (t.total <= 0) { 
      clearInterval(timeinterval); 
     } 
    } 

    updateClock(); 
    var timeinterval = setInterval(updateClock, 1000); 
} 

var deadline = new Date(Date.parse(new Date()) + 30 * 24 * 60 * 60 * 1000); 
initializeClock('clockdiv', deadline); 
+0

使用localStorage的,如果你想存储的经过时间 – Lalit

+0

使用window.localStorage.setItem(“密押”,“保存定时器的值”);并存储计时器值并获取页面加载的值以从中启动。 window.localStorage.getItem('testKey') –

+0

请有人帮我用代码 – BRAHMA

您不在用户的浏览器中存储任何数据,因此在页面刷新后所有内容都会被清除。为了摆脱这个问题,你可以做几件事情:

  1. 使用本地存储 - >您可以在这里储存的东西作为一个字符串,这将是最好的,而不是更简单的方法来做到这一点(?) 。

  2. 使用cookies - >同上

  3. 会话存储 - >这可能不是在所有浏览器正常工作。

  4. 将数据保存在某种数据库中。这将是最难实施,但将允许您更容易地扩展定时器的功能在未来。

+0

请你说明我的确切代码,我是这个新手。 – BRAHMA

+0

@BRAHMA多么好的学习新东西的机会! – Teemu