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
添加到延迟中,这差不多是正确的,但我希望每一列在时间上也稍微偏移,以便逐渐淡出(每一列的开始在前一列之后)。像这样吗?或者您想摆脱角度负载,一次只做一列,一次做一行