每8小时到达00:00:00时刷新页面并重新开始倒计时

时间:2015-11-03 15:08:15

标签: javascript countdown

我有wordpress网站,我把倒计时脚本和工作,我想自定义这个脚本,并想知道很多点:

1 - 可以每8小时倒计时吗?例如,当倒计时达到零(00-00-00)时,它将刷新页面并自动重新开始08-00-00。

2 - 如何保持倒计时不变?我的意思是,每次加载页面时仍然处于开始时间,即使关闭标签,也没有办法保持倒计时?

这是我的js代码

jQuery(document).ready(function($) {
    $('.countdown').final_countdown({
        start: '1362139200',
        end: '1388461320',
        now: '1387461319',
selectors: {
    value_seconds: '.clock-seconds .val',
    canvas_seconds: 'canvas-seconds',
    value_minutes: '.clock-minutes .val',
    canvas_minutes: 'canvas-minutes',
    value_hours: '.clock-hours .val',
    canvas_hours: 'canvas-hours',
    value_days: '.clock-days .val',
    canvas_days: 'canvas-days'
},
seconds: {
    borderColor: '#7995D5',
    borderWidth: '6'
},
minutes: {
    borderColor: '#ACC742',
    borderWidth: '6'
},
hours: {
    borderColor: '#ECEFCB',
    borderWidth: '6'
},
days: {
    borderColor: '#FF9900',
    borderWidth: '6'
}}, function() {
// Finish callback
});
});

我在等你的求助答案。当您回答我的问题时,请复制我的代码并在那里编辑您的答案。

1 个答案:

答案 0 :(得分:0)

如果您想为所有用户提供相同的倒计时,则需要使用外部源(如文件或数据库)来表示开始时间(除非您想要“锚定”或将开始时间硬编码为特定的全球时刻,就像我在下面的例子中所做的那样)。如果您想要为所有用户进行单独倒计时,您可以使用浏览器存储引擎,如本地存储(本地存储可能是最简单/最快捷的方式,但您可以使用cookie,websql等...)。

为了在每8小时后重复一次,一个简单的数学模运算符就可以了 - 你只需要表示起始时间,然后你就可以显示模数(总时间的剩余部分除以8小时)。

一个例子:

var t = document.getElementById('t');

setInterval(function(){
  t.textContent = (new Date().getTime() / 1000 | 0) % 15;
}, 1000);
Repeating every 15 seconds (you need 8 hours instead)
<p id="t"></p>