Jquery 使用淡出-Can'向后迭代;我搞不清情况

Jquery 使用淡出-Can'向后迭代;我搞不清情况,jquery,fadein,fadeout,loops,Jquery,Fadein,Fadeout,Loops,我在这里得到了这个代码: 我想做的是:依次淡入三个X,然后向后淡出。这应该是递归函数的一部分 我没有在示例中编写递归部分,因为我不知道为什么淡出在一个X之后停止。或者换句话说:我知道这是因为如果(I==elemLen-1),但我不知道如何编辑条件使它淡出所有三个X 我已经尝试过如果(I==elemLen-1 | | I==elemLen-2),但是使用这种语法,它会首先淡出中间的X,然后淡出最后的X。所以这不起作用 谁能把我推到正确的方向吗? 我不太擅长解释别人的代码,所以我给你写了一个替代方案

我在这里得到了这个代码:

我想做的是:依次淡入三个X,然后向后淡出。这应该是递归函数的一部分

我没有在示例中编写递归部分,因为我不知道为什么淡出在一个X之后停止。或者换句话说:我知道这是因为
如果(I==elemLen-1)
,但我不知道如何编辑条件使它淡出所有三个X

我已经尝试过
如果(I==elemLen-1 | | I==elemLen-2)
,但是使用这种语法,它会首先淡出中间的X,然后淡出最后的X。所以这不起作用

谁能把我推到正确的方向吗?

我不太擅长解释别人的代码,所以我给你写了一个替代方案

function ponyo(elements, anim) {
    elements.each(function(i) {
        $(this).delay(i*900)[anim](900);
    });
    setTimeout(function() {
        ponyo($(elements.get().reverse()), (anim=='fadeIn')?'fadeOut':'fadeIn');
    }, elements.length * 900);
}
ponyo($(".animate").hide(), 'fadeIn');​
它只是像您那样执行动画,等待动画完成所需的时间(setTimeout),然后调用反向集合中的相反动画。

我不太擅长解释别人的代码,所以我给你写了一个替代方案

function ponyo(elements, anim) {
    elements.each(function(i) {
        $(this).delay(i*900)[anim](900);
    });
    setTimeout(function() {
        ponyo($(elements.get().reverse()), (anim=='fadeIn')?'fadeOut':'fadeIn');
    }, elements.length * 900);
}
ponyo($(".animate").hide(), 'fadeIn');​

它只是像你那样做动画,等待动画完成所需的时间(setTimeout),然后调用反向集合上的相反动画。

如果我看得正确,这里面没有递归。这是真的-我也指出了这一点。我刚刚提到了这一点,这样更容易理解我想做什么。我的问题是如何设置if条件使所有的x都淡出。如果我看得正确,这里面没有递归。这是真的-我也指出了这一点。我刚刚提到了这一点,这样更容易理解我想做什么。我的问题是,如何设置if条件以使所有X淡出。