Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery循环。将一个数字添加到上一个数字_Jquery_Loops_Add_Intervals - Fatal编程技术网

jQuery循环。将一个数字添加到上一个数字

jQuery循环。将一个数字添加到上一个数字,jquery,loops,add,intervals,Jquery,Loops,Add,Intervals,如何在文档每次运行时添加到最后一个数字+1? 我明白了: $(文档).ready(函数(){ //核实 $('title').text('jQuery正在工作!'); //环路 setInterval(函数(){ 对于(变量i=1;i

如何在文档每次运行时添加到最后一个数字+1? 我明白了:

$(文档).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))
});