只需5分钟即可在javascript中计算计时器

时间:2013-12-23 01:34:43

标签: javascript

任何人都可以给我一个小小的提示,如何让javascript计数器计时器只需5分钟然后停止,我试过的是在我使用的代码之下,但我想只有5分钟它在5分钟后停止。

    <script type="text/javascript">
var sec = 0;
function pad ( val ) { return val > 9 ? val : "0" + val; }
setInterval( function(){
    document.getElementById("seconds").innerHTML=pad(++sec%60);
    document.getElementById("minutes").innerHTML=pad(parseInt(sec/60,10));
}, 1000);
    </script>

this is to echo out the timer: <label id="minutes">00</label>:<label id="seconds">00</label>

4 个答案:

答案 0 :(得分:2)

每1000毫秒(1秒)运行一次,并在300秒(5分钟)后停止。

var sec = 0;
var counter = setInterval(function(){
    // Your code
    sec++;
    if (sec == 300) clearInterval(counter);
}, 1000);

JSFiddle

答案 1 :(得分:1)

setInterval返回与clearInterval一起使用的间隔的id以停止它。你想要检查什么时候到达5分钟:

...
var interval = setInterval(function () {
    ...
    //5 minutes has been reached
    if (sec >= 300) {
      clearInterval(interval);
    }
}, 1000);
...

编辑:我将clearInterval代码移到setInterval中,以便可以连续检查。

答案 2 :(得分:0)

你需要使用它而不是“setInterval”

 setTimeout(function() {
        //do stuff
    }, milliseconds)
你的代码中的

<script type="text/javascript">
var sec = 0;
function pad ( val ) { return val > 9 ? val : "0" + val; }
setTimeout( function(){
    document.getElementById("seconds").innerHTML=pad(++sec%60);
    document.getElementById("minutes").innerHTML=pad(parseInt(sec/60,10));
}, 1000);
    </script>

this is to echo out the timer: <label id="minutes">00</label>:<label id="seconds">00</label>

答案 3 :(得分:0)

试试这个:

<script type="text/javascript">
var sec = 0;
function pad ( val ) { return val > 9 ? val : "0" + val; }
var refreshIntervalId = setInterval( function(){
    document.getElementById("seconds").innerHTML=pad(++sec%60);
    document.getElementById("minutes").innerHTML=pad(parseInt(sec/60,10));

    if(parseInt(sec/60,10) == 5)
    {
        stopInterval();
    }
}, 1000);

function stopInterval(){
    clearInterval(refreshIntervalId);
}
    </script>