jQuery循环。将一个数字添加到上一个数字
如何在文档每次运行时添加到最后一个数字+1? 我明白了:jQuery循环。将一个数字添加到上一个数字,jquery,loops,add,intervals,Jquery,Loops,Add,Intervals,如何在文档每次运行时添加到最后一个数字+1? 我明白了: $(文档).ready(函数(){ //核实 $('title').text('jQuery正在工作!'); //环路 setInterval(函数(){ 对于(变量i=1;i
$(文档).ready(函数(){
//核实
$('title').text('jQuery正在工作!');
//环路
setInterval(函数(){
对于(变量i=1;i<2;i++){
$('.repeat')。追加(i+'');
};
}, 1000);
});
答案实际上在于变量作用域的使用。变量i
仅存在于setInterval
回调函数的范围内。在该函数之前和之后,该变量都不存在,因此它不能保存值…它只是在每次函数启动时重新初始化。如果我们将变量移到setTimeout
函数之外,它将成为更大范围的一部分,即$(document).ready
事件处理程序的范围。它将对该作用域和该作用域内的所有其他作用域保持可用(在本例中为setTimeout
回调)
Douglas Crockford是一本关于Javascript的好书。在$(document.ready(function)()上还有一篇很好的文章解释了作用域和闭包{
//核实
$('title').text('jQuery正在工作!');
(函数func(i){
setTimeout(函数(){
$('.repeat')。追加(i+'');
i+=1;
如果(我知道blankblaNk是什么意思。?一般的想法是,可以使用问题框中的所有空格来发布代码。虽然JSFIDLE很有用,但您也应该在这里包含代码,以防链接中断,这样人们就不必留下堆栈溢出。如果关闭了,您仍然可以编辑您的帖子以重新打开。祝您好运!:-)
$(document).ready(function () {
// verification
$('title').text('jQuery is working!');
// loop
setInterval(function () {
for (var i = 1; i < 2; i++) {
$('.repeat').append(i + ' ');
};
}, 1000);
});
var i = 0;
setInterval(function () {
$('.repeat').append(' '+ (i++) );
}, 1000);
$(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))
});