أقل الطريق مطول للأحداث سلسلة مسج أن تضطر إلى الانتظار لالرسوم المتحركة؟

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

  •  06-07-2019
  •  | 
  •  

سؤال

والتقييد كبيرة في مسج، لكنه سلاسل على الزناد من كل حدث ولا ينتظر الحدث السابق لإنهاء. هذا هو ملحوظ في المقام الأول عندما موحية.

وعلى هذا النحو، فإن الحل رأيت هو استخدام الاتصال مرة أخرى وظائف. لكن العائق الوحيد هو إذا، مثلا، لديك 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