链接必须等待动画的jquery事件的不太冗长的方法?

链接必须等待动画的jquery事件的不太冗长的方法?,jquery,jquery-animate,chaining,Jquery,Jquery Animate,Chaining,链接在jQuery中非常好,但是它链接每个事件的触发器,并且不等待前一个事件完成。这主要在设置动画时很明显 因此,我看到的解决方法是使用回调函数。唯一的缺点是,比方说,如果您有4件事情要连续设置动画 诚然,这可能是您不想经常做的事情,但是当您这样做时,标记似乎有点冗长。示例(伪代码): 在这种情况下,这是处理事情的最佳/最简洁的方式吗?尝试以下方法:) 请尝试以下操作:) 我喜欢这样的逻辑组合链。谢谢我喜欢这样的逻辑组合链。谢谢作为递归,这是一个很大的禁忌吗?我喜欢递归的逻辑,但知道这有时被视为

链接在jQuery中非常好,但是它链接每个事件的触发器,并且不等待前一个事件完成。这主要在设置动画时很明显

因此,我看到的解决方法是使用回调函数。唯一的缺点是,比方说,如果您有4件事情要连续设置动画

诚然,这可能是您不想经常做的事情,但是当您这样做时,标记似乎有点冗长。示例(伪代码):

在这种情况下,这是处理事情的最佳/最简洁的方式吗?

尝试以下方法:)

请尝试以下操作:)


我喜欢这样的逻辑组合链。谢谢我喜欢这样的逻辑组合链。谢谢作为递归,这是一个很大的禁忌吗?我喜欢递归的逻辑,但知道这有时被视为一件坏事。请仔细遵循流程,这真的不是递归。回调是指回调到
animateChain
而不是
animateChain
本身。这更像是一种迭代方法。啊!这是一个聪明的写作方法。谢谢你,乔希!作为递归,这是一个很大的禁忌吗?我喜欢递归的逻辑,但知道这有时被视为一件坏事。请仔细遵循流程,这真的不是递归。回调是指回调到
animateChain
而不是
animateChain
本身。这更像是一种迭代方法。啊!这是一个聪明的写作方法。谢谢你,乔希!
element.animate(fast, callBackFunction1(element1,element2,element3);

function callBackFunction1(element1,element2,element3){
    element1.animate(fast, callBackFunction2(element2,element3));
};

function callBackFunction2(element2,element3){
    element2.animate(fast, callBackFunction3(element3));
};

function callBackFunction3(element3){
    element3.animate(fast);
};
element.animate(fast, function() {
    element1.animate(fast, function() {
        element2.animate(fast, function() {
            element3.animate(fast);
        });
    });
});
var animElements = [
    element,
    element1,
    element2,
    element3,
];

function animateChain(elements) {
    if(elements.length > 0) {
        var element = elements.pop();
        element.animate("fast", function(){ animateChain(elements); });
    }
}

animateChain(animElements);