jQuery FadeOut很多div

时间:2012-04-22 23:12:04

标签: jquery fadein fade fadeout

我试图一次淡出多个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会同时发生。

问题:如何在fadeOut之后获得fadeIn?

谢谢

1 个答案:

答案 0 :(得分:15)

$("#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);
});

DEMO