Jquery构建多个计时器和.each(function(){

时间:2012-04-05 23:13:48

标签: javascript jquery

我正在尝试为我的网页构建多个计时器,到目前为止,我已经

$('.timer').each(function() {
var timer = setInterval(function() {
    var time = $(this).text().split(':');
    var minutes = parseInt(time[0], 10);
    var seconds = parseInt(time[1], 10);
    // TIMER RUN OUT 
    if (!minutes && !seconds) {
        // CLEAR TIMER
        clearInterval(timer);
    // MINUS SECONDS
    } else {
        seconds -= 1;
    }
    // MINUS MINUTES
    if (seconds < 0 && minutes != 0) {
        minutes -= 1;
        seconds = 59;
    // ADD ZERO IF SECONDS LESS THAN 10
    } else {
        if (seconds < 10) {
            seconds = '0' + seconds;
        }
    }
    // ADD ZERO IF MINUTES LESS THAN 10
    if (minutes < 10) {
        minutes = '0' + minutes;
    }
}, 1000);
});

虽然这不起作用!我哪里错了!

由于

2 个答案:

答案 0 :(得分:1)

首先,在setInterval回调中,this不再引用.timer元素。尝试将其更改为self,并在致电var self = this;之前添加setInterval。其次,您永远不会将时间写回.timer元素。

答案 1 :(得分:0)

您是否正在尝试显示倒计时的时钟?在这种情况下,您不会在所有计算后更新文本。尝试添加:

$(this).text(minutes+':'+seconds);