将jQuery倒计时时间设置为50000秒

时间:2014-01-02 20:03:13

标签: jquery jquery-countdown

我正在使用jQuery倒计时:http://keith-wood.name/countdown.html

此脚本的示例用法是:

$(selector).countdown({since: new Date(2010, 12-1, 25)});

你必须设置完整的日期,如果我只有几秒钟的总时间怎么办?我的意思是我想从50000秒开始倒计时并自动将其转换为几天:小时:秒?

3 个答案:

答案 0 :(得分:2)

我刚刚写了一个小函数来为你做一个计数器,只是想要你有更多的控制权。

countDown($('#selector'), 300);

function countDown(selector, seconds){
    var oneSecond = 1;
    var passedSeconds = 0;
    var timeLeft = 0;
    var interval = setInterval(
        function(){
            passedSeconds += oneSecond;
            timeLeft = seconds-passedSeconds;
            if(timeLeft > 0 ){
                selector.text(getTimer(timeLeft));
            }else{
                selector.text('Time out');
                clearInterval(interval);
            }

        },
        oneSecond*1000);
}

function getTimer(timeLeft){
    var litteralDuration = '';
    var s = parseInt(timeLeft);
    var d = Math.floor(s / 86400);
    s %= 86400;
    var h = Math.floor(s / 3600);
    s %= 3600;
    var m = Math.floor(s / 60);
    s %= 60;


    if(d > 0){
        litteralDuration += (d == 1) ? '1 D ' :  d + ' Ds ' ;
    }
    if(h > 0){
        litteralDuration += (h == 1) ? '1 H ' : h + ' Hs ' ;
    }
    if(m > 0){
        litteralDuration += (m == 1) ? '1 M ' : m + ' Ms ' ;
    }
    if(s > 0){
        litteralDuration += (s == 1) ? '1 S ' :  s + ' Ss ' ;
    }

    return litteralDuration;
}

这是一个JS小提琴: Fiddle

希望有所帮助

答案 1 :(得分:1)

试试这个:

var now = new Date();
var later = new Date(now.getTime() + 50000000); // 50000s == 50000000ms
$('#countdown').countdown({until: later});

答案 2 :(得分:1)

您必须获取当前日期并为其添加50000秒。你可以像下面这样做

$("#countdown").countdown({
    until: new Date(new Date().getTime() + (50000 * 1000))
});

<强> JSFiddle Example