达到一定时间后停止计时器

时间:2015-11-10 05:00:30

标签: javascript jquery timer

使用javascript timer,我有一个从00:00开始的计时器,应该停在00:10(运行10秒)。

问题是,如何在10秒后连续检查定时器的当前值以停止它?

    <script>
        window.onload = function() {
            var timer = new Tock({
                callback: function () {
                    $('#clockface').val(timer.msToTime(timer.lap()));
                }
            });

            timer.start("00:01.780");
        }
    </script>

    <h2>Timer</h2>
    <input id="clockface" placeholder="00:00:00">

目前的尝试:

            setTimeout(timer,1000);

            $('#clockface').change(function(){
               if($('#clockface').val() == "00:05.000") {
                  timer.stop();
                  alert("True");
               } else {
                  alert("False");
               }
            })

2 个答案:

答案 0 :(得分:1)

这似乎有用(JSFiddle:http://jsfiddle.net/gabrieldeliu/jLg2wvvL/1/):

var start_time;
var timer = new Tock({
    callback: function() {
        if (start_time && timer.lap() - start_time > 5000) {
            console.log('Stopped at ' + timer.msToTime(timer.lap()));
            timer.stop();
        }
    }
});

timer.start("00:01.780");
start_time = timer.lap();
console.log('Starts at ' + timer.msToTime(start_time));

答案 1 :(得分:0)

试试这样:

var init = new Date().getTime();
var inter = setInterval(function(){
    if(new Date().getTime() - init > 1000)
    {
        clearInterval(inter);
        return;
    }

}, 2500);