JavaScript计时器倒计时注销

时间:2012-05-28 06:32:15

标签: javascript jquery time timeout

我正在尝试在JS中制作倒数计时器,每隔一分钟就会更改一个字段的值(在开始时有20个,然后将其更改为19,18,17等),但它不起作用正确。它不是每60秒改变一次,但我觉得它是随机的(有时它会在15秒后第一次改变值,另一次是53次)。知道我做错了什么吗?这是代码:

function getTimeNow(){
    var Time = new Date;
    return Time.getHours()*60*60+Time.getMinutes()*60 + Time.getSeconds();
}

    var start = getTimeNow();
    var start_point = start%60;
    var target = start+60*20;


function TimeOut(){
    if((getTimeNow()-start)%60 == start_point && target>getTimeNow()){
       var temp = jQuery('.Timer').html();
       temp-=1;
       jQuery('.Timer').html(temp);
    }
    setTimeout(TimeOut,1000);
}

1 个答案:

答案 0 :(得分:3)

您无法指望调用计时器功能的确切时刻。你需要将你的逻辑改为对时移更具弹性的东西......

setInterval(function(){count.innerText = count.innerText - 1;},
            60*1000);

这也短得多......