jQuery FadeOut много div наведнъж

Опитвам се да избледнявам няколко div наведнъж и да избледнявам в един div, след като това завърши. Ето кода:

if($(this).attr("id")==="benefits-button"){

    $("#solar-about, #home-page, #process-page, #financing-page, #vendors-page, #consump-info-page, #smart-page, #wind-page, #about-page").fadeOut(750, function() {
         $("#benefits-page").fadeIn(750);
    });
    }

Когато има няколко div в селектора, fadeOut и fadeIn се случват едновременно.

Въпрос: Как да получа fadeIn след fadeOut?

Благодаря ти


person Vinny    schedule 22.04.2012    source източник
comment
И така..какъв е въпросът?   -  person Marc    schedule 23.04.2012
comment
защо не използвате class вместо твърде много ids?   -  person undefined    schedule 23.04.2012
comment
@Raminson вашият коментар всъщност е отговорът™.   -  person Roko C. Buljan    schedule 23.04.2012
comment
@Marc: A не работи. А* прави. Подразбиращият се въпрос вероятно е защо A не работи, ако A* работи и как да го накарам да работи по същия начин?   -  person Armatus    schedule 23.04.2012
comment
По принцип се опитвам да избледнявам няколко div наведнъж и да избледнявам в един div, след като това завърши. Кодът по-горе ще изчезне, докато избледнява   -  person Vinny    schedule 23.04.2012
comment
Опитвали ли сте да използвате .stop() преди .fadeOut(?   -  person Roko C. Buljan    schedule 23.04.2012


Отговори (1)


$("#benefits-page").fadeIn(750);

работи веднага, защото започва да работи, когато първият елемент (#solar-about във вашия пример) fadeOut анимация е завършен.

Ако искате да изчакате, докато всички анимации завършат, можете да използвате .promise(), като това:

$("#solar-about, #home-page, #process-page, #financing-page, #vendors-page, #consump-info-page, #smart-page, #wind-page, #about-page").fadeOut(750).promise().done(function() {
     $("#benefits-page").fadeIn(750);
});

ДЕМО

person Okan Kocyigit    schedule 22.04.2012