6

我试图一次淡出多个 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);
    });
    }

When there are multiple divs in the selector, the fadeOut and fadeIn happen at the same time.

问题:我如何在淡出之后获得淡入?

谢谢

4

1 回答 1

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

演示

于 2012-04-22T23:24:27.643 回答