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