使用moment.js持续12小时倒计时

时间:2015-08-29 11:59:26

标签: javascript jquery momentjs

我正在尝试使用moment.js和jQuery进行倒计时。它应该倒数到12.00,当它已经超过12.00时,它应该倒数到24.00等。所以总是倒数接下来的12个小时。它也必须是UTC。这就是我现在所拥有的,它工作正常,除非它已经超过12.00,它说“完成了计时器”。

如何以最佳方式实现这一目标?

 var currentTime, endTime, timeDif;

currentTime = moment.now().format('X');
endTime = moment(moment.utc(12, "HH")).format('X');

function roundEndTimer() {

    var Hours, Minutes, Seconds;

    timeDif = endTime - currentTime;

    function updateTime (){
        Seconds = timeDif;

        Hours = Math.floor(Seconds/3600);
        Seconds -= Hours * 3600;

        Minutes = Math.floor(Seconds/60);
        Seconds -= Minutes * 60;


    }
    function tick (){
        clearTimeout(timer);
        updateTime();
        displayTime();

        if(timeDif > 0) {

            timeDif - 1;
            timer = setTimeout(tick, 1*1000)
        }else {

            $("#roundendtime").html("Timer done");
        }
    }

    function displayTime() {
        var out;
        out = moment().hours(Hours).format('HH')+':'+moment().minutes(Minutes).format('mm')+':'+moment().seconds(Seconds).format('ss');
        $("#roundendtime").html(out);
    }

    var timer = setTimeout(tick, 1*1000);
}

0 个答案:

没有答案