每次文档间隔时,如何添加最后一个数字+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);
});
答案 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))
});