jQuery – 在运行fadeIn之前等待fadeOut完成

我想知道在fadeIn开始之前是否有任何方式等待fadeOut完成,就像我运行下面的代码一样,它将一个div放在另一个下面,然后当它淡出时它向上移动……看起来有点丑陋。

代码如下:

$('.sidebarform').fadeOut('slow'); $('.sidebarsuccess').fadeIn('slow'); 

fadeOut函数有一个在动画完成时执行的回调:

 $('.sidebarform').fadeOut('slow', function() { $('.sidebarsuccess').fadeIn('slow'); }); 

另一个选择是使用promise,等待.sidebarform上的所有待处理动画首先完成,即使它们是在其他地方启动的:

 $('.sidebarform').fadeOut('slow').promise().done(function() { $('.sidebarsuccess').fadeIn('slow'); });