애니메이션을 기다려야하는 jQuery 이벤트를 징수하는 장점이 적습니까?

StackOverflow https://stackoverflow.com/questions/1633637

  •  06-07-2019
  •  | 
  •  

문제

jQuery에서는 체인이 훌륭하지만 각 이벤트의 방아쇠를 사슬로 사로 잡고 이전 이벤트가 끝날 때까지 기다리지 않습니다. 이것은 주로 애니메이션 할 때 눈에 띄게됩니다.

따라서 내가 본 해결 방법은 Call Back 기능을 사용하는 것입니다. 유일한 단점은 당신이 연속적으로 애니메이션을 원하는 4 가지를 가지고 있다면입니다.

틀림없이, 이것은 아마도 당신이 자주하고 싶지 않은 일일 것입니다. 그러나 당신이 할 때, 마크 업은 약간의 장점을 얻는 것 같습니다. 예제 (의사 코드) :

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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top