多功能不会同时在jQuery的

问题描述:

当我运行多功能不会同时在jQuery的

$("[id^=menuItem]").fadeOut(1000); 

的淡出同时做所有的组件执行动画。然而,孔我EXECUT一个for循环做的元素别的东西,完成其中我希望通过

var i; 
for(i = 1; i <= 6; i++) 
    $("div#item" + i).delay(i * 1000).fadeIn(1500); 
$("[id^=item]").fadeOut(400); 

淡出他们都在同一时间由于某种原因时,该淡出开始上第二个元素之前的第一个元素,它是在第三个元素之前开始的。它的确产生了非常酷的效果,但这不是我需要在我的项目中实现的效果。

为什么会发生?

我怀疑答案是一旦每个组件都完成初始淡入,最终淡出就会开始。在这种情况下,我的问题将重新表达为如何延迟执行多选的淡出直到某个东西已经完成(即最后的项目已经完成淡入)。

它可能与不同组件准备在不同时间进行下一步的事实有关。也许我应该在淡入之后使用回调函数。当然,这会执行一大堆回调,因此需要使用$ .when/.then语法。