애니메이션을 기다려야하는 jQuery 이벤트를 징수하는 장점이 적습니까?
-
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);
제휴하지 않습니다 StackOverflow