如何在jquery中按整数(分钟)制作计时器?

时间:2014-04-09 21:07:31

标签: jquery timer

我必须制作只有分钟和秒钟的计时器。我只是通过整数编号尝试转换,但我失败了。

jquery代码是: -

 var start = 10;// 10 is minute
 i=1;
 setInterval(function() {
     $('#timing').text( ((start - i) % 60) + "Minute" + ((start - i) / 1000 ) +" Seconds");
     i++;

}, 1000);
我可以这么热吗?计时器按秒减去分钟。

2 个答案:

答案 0 :(得分:4)

这是另一个例子 - http://jsfiddle.net/pX5dd/

var minutes = 1;
var seconds = minutes * 60;

function convertIntToTime (num) {
    var mins = Math.floor(num/60);
    var secs = num % 60;
    var timerOutput = (mins < 10 ? "0" : "" ) + mins + ":" + (secs < 10 ? "0" : "" ) + secs;
    return(timerOutput);
}

var countdown = setInterval(function() {
    var current = convertIntToTime(seconds); // set the display of the time
    $('.timer').html(current); // place the display time in the div
    if(seconds == 0) { 
        clearInterval(countdown); // stop the time if seconds = 0
        // other function calls here
    }
    seconds--; // subtract a second
}, 1000);

它更长,而不像布伦特那样紧凑,但它可能会为您提供可重复使用的时间格式化功能。如果要在计时器用完时调用另一个函数,可以在if语句中调用它。

答案 1 :(得分:3)

var start = 600;// 10 minutes
var i=1;
var timer = setInterval(function() {
     $('#timing').text( Math.floor((start - i) / 60) + " Minutes " + ((start - i) % 60 ) +" Seconds");
     i++;

    if(start === i) {
        window.clearInterval(timer);
        //DO STUFF HERE
    }

}, 1000);

我为你清理了一下。 Math.floor将确保将该分区向下舍入,为您创建一个漂亮的干净显示字符串。另外:分钟被保持为秒数。如果你愿意,你可以轻松改变这一点,只是没有完全确定你的要求是什么!如果您需要更多解释,请告诉我。