我必须制作只有分钟和秒钟的计时器。我只是通过整数编号尝试转换,但我失败了。
jquery
代码是: -
var start = 10;// 10 is minute
i=1;
setInterval(function() {
$('#timing').text( ((start - i) % 60) + "Minute" + ((start - i) / 1000 ) +" Seconds");
i++;
}, 1000);
我可以这么热吗?计时器按秒减去分钟。
答案 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
将确保将该分区向下舍入,为您创建一个漂亮的干净显示字符串。另外:分钟被保持为秒数。如果你愿意,你可以轻松改变这一点,只是没有完全确定你的要求是什么!如果您需要更多解释,请告诉我。