setTimeout每1秒工作一次,但不是每60秒工作一次

时间:2013-09-11 18:11:34

标签: javascript settimeout

我需要每60秒更新一次计时器号码。如果我将超时设置为1000毫秒,一切正常,除了每秒更新一次。如果我设置60000毫秒,则计时器编号不会更新。

    //Power off on low battery timer
    var resetC=30; //time in minutes to reset timer to.
    var c=resetC;
    var t;
    var timer_is_on=0;
    function timedCount() {
        $('#timer').html(c);
        if(c>=1){
            c=c-1;
            t=setTimeout(function(){timedCount()},60000);
        }else{
            $('#batInfo').html('<H4>Powering off device.</H4>');
            window.setTimeout(function(){device.powerOff()},4000);
            stopCount();
        }
    }
    function doTimer(){
        if (!timer_is_on){
          timer_is_on=1;
          timedCount();
        }
    }

    function stopCount()
    {
        clearTimeout(t);
        timer_is_on=0;
        c=resetC;
    }

1 个答案:

答案 0 :(得分:-1)

您可能正在寻找的是setInterval

以下是我使用setInterval撰写的内容:Fiddle

它与你所写的非常相似。