jQuery循环。添加一个到prev数字

时间:2013-03-28 01:51:00

标签: jquery loops add intervals

每次文档间隔时,如何添加最后一个数字+1? 我得到了这个:jsfiddle.net/zAt7C/1/

$(document).ready(function () {
    // verification
    $('title').text('jQuery is working!');

    // loop
    setInterval(function () {
        for (var i = 1; i < 2; i++) {
            $('.repeat').append(i + ' ');
        };
    }, 1000);
});

3 个答案:

答案 0 :(得分:0)

LIVE DEMO

var i = 0;
setInterval(function () {
    $('.repeat').append(' '+ (i++) );
}, 1000);

答案 1 :(得分:0)

<强> jsFiddle demo

答案实际上在于使用变量范围。变量i仅适用于setInterval回调函数的范围。在该函数之前和之后,变量不存在,因此它不能保存值...每次函数启动时它都会重新初始化。如果我们将变量移到setTimeout函数之外,它将成为更大范围的一部分,即$(document).ready事件处理程序的范围。它将仍然可用于该范围和该范围内的所有其他范围(在本例中为setTimeout回调)。

关于Javascript的好书是Douglas Crockford的Javascript: The Good Parts。还有一篇很好的文章解释How do JavaScript closures work?

的范围和闭包

答案 2 :(得分:0)

$(document).ready(function () {
    // verification
    $('title').text('jQuery is working!');

    (function func (i) {
        setTimeout(function () {
            $('.repeat').append(i + ' ');
            i += 1;

            if (i <= 10) {
                func(i);
            }
        }, 1000);
    }(0))
});

Fiddle