倒计时定时器每6小时一次

时间:2013-01-29 04:13:12

标签: javascript html countdowntimer

只是想知道,如果有任何方式或代码,可以为每天6小时设置倒计时器吗?

例如,我想在此时间开始倒计时(换句话说,就像每6小时一样): 9 am-3pm 3 pm-9pm 9 pm-3am 3 am-9am?

我看了整个网站,找不到那样的倒数计时器..

最好是HTML和javascript / jquery。

2 个答案:

答案 0 :(得分:2)

var timer = {
        started: false,
        timestamp: 0
    },
    trigger = 15;                          //3pm

function timerInit(){
    var hour = new Date().getHours();
    if(!started && hour === trigger){      //When it's 3pm, the timer will start
        startTimer();                      //└─ rewrite the conditional statement 
                                           //   as needed
        //do whatever you want here
        timer.timestamp = +new Date();
        timer.started = true;              //Indicates the timer has been started
    }
    requestAnimationFrame(timerInit);      //setTimeout is not efficient
}
requestAnimationFrame(timerInit);


//This is for when the timer has ended.
function timerEnded(){
    timer.started = false;
}

function startTimer(){
    var d = new Date();
    timePassed = new Date(timer.timestamp + 1000*60*60*6 - d);
    var remaining = {                      //Calculate time difference
        hour: timePassed.getHours(),       // using timestamps
        minute: timePassed.getMinutes(),
        second: timePassed.getSeconds()
    }
    console.log(remaining);
    if(timePassed > 0){
        setTimeout(startTimer, 500);       //Countdown
    }else{
        timerEnded();                      //Ended
    }
}

http://jsfiddle.net/DerekL/kKPcr/7/

答案 1 :(得分:-2)

您可以使用javascript的原生setInterval方法

E.g:

var timer = setInterval(myfunction, 21600) // 21600 seconds == 6 hours