同一个元素可以使用.show().hide().animate()实现对动画的有序进行。
不同元素有两种方法。
一、使用回调函数结合递归。(使用情况有限,因为要从上个元素找到下一个元素)
例如这样实现
orderedPlace($(".className").eq(0), 700)
function orderedPlace(ele, time){
ele.fadeIn(time, function() {
if(ele.next().length) {
orderedPlace(ele.next(), time)
} else {
eleMove(ele, time);
}
})
}
二、使用.delay(time)来实现(需要计算time)
例如
cycles.find('.cycle').each(function() {
$(this).delay(delay).fadeIn(700);
delay += 700;
})
这个问题困扰了好几天,之前找到了递归的实现,觉得还应该有更简单的方法,后来哎stackoverflow上找到了
http://stackoverflow.com/questions/6073924/jquery-animate-change-the-elements-opacity-one-by-one