Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Javascript 需要在两个循环中循环,并在内部循环中使用延迟迭代_Javascript_Jquery - Fatal编程技术网

Javascript 需要在两个循环中循环,并在内部循环中使用延迟迭代

Javascript 需要在两个循环中循环,并在内部循环中使用延迟迭代,javascript,jquery,Javascript,Jquery,我想做的是构建一种方法,通过两个for循环进行循环,但是内部循环在每次迭代时需要有一个延迟,但它不能是排队的动画 我希望这样做的方式是,在开始时,它会以一定的间隔触发每个元素,而不是等待它们的动画完成。然后它转到下一行项目(第一次循环迭代),并在前一行中的所有项目消失之前启动该行 var colLeng = Layout.columns, elemLeng, columnElements; // get number of columns

我想做的是构建一种方法,通过两个
for
循环进行循环,但是内部循环在每次迭代时需要有一个延迟,但它不能是排队的动画

我希望这样做的方式是,在开始时,它会以一定的间隔触发每个元素,而不是等待它们的动画完成。然后它转到下一行项目(第一次循环迭代),并在前一行中的所有项目消失之前启动该行

    var colLeng = Layout.columns,
        elemLeng,
        columnElements;

    // get number of columns
    for (var i = 0; i < colLeng; i++) {
        columnElements = $('.prvwImg[data-col="' + i + '"]');
        elemLeng = columnElements.length;

        for (var t = 0; t < elemLeng; t++) {
            columnElements.eq(t).delay(500 * t).fadeOut(400);
            //columnElements.eq(t).delay(500 * t).stop().fadeOut(400);
        }
    }
var colLeng=Layout.columns,
埃莱姆林,
柱状元素;
//获取列数
对于(变量i=0;i

编辑:使用此代码,它可以很好地循环,但延迟实际上不起作用,因此它们会同时消失。

根据每列添加另一个延迟

columnElements.delay(500 * i)

这将导致
500*i+500*t

的每个列元素上的总延迟。您不希望它执行的当前操作是什么?你想让它做的事情是什么?@KevinB它看起来很好,但延迟实际上不起作用,所以它们会同时淡出。在我看来,所有列都应该一次淡出,但每列中的每个元素都应该一次淡出一个。您希望一次只淡入一列,对吗?您必须以添加
t
的相同方式将外部循环中的
i
添加到延迟中,这差不多是正确的,但我希望每一列在时间上也稍微偏移,以便逐渐淡出(每一列的开始在前一列之后)。像这样吗?或者您想摆脱角度负载,一次只做一列,一次做一行