我想知道如果是在fadeIn开始之前等待fadeOut完成的任何方法,因为当我运行下面的代码时,它将一个div放在另一个下面,然后当它消失时,它向上移动......看起来有点难看。jQuery - 等待fadeout在运行fadeIn之前完成
代码如下:
$('.sidebarform').fadeOut('slow');
$('.sidebarsuccess').fadeIn('slow');
我想知道如果是在fadeIn开始之前等待fadeOut完成的任何方法,因为当我运行下面的代码时,它将一个div放在另一个下面,然后当它消失时,它向上移动......看起来有点难看。jQuery - 等待fadeout在运行fadeIn之前完成
代码如下:
$('.sidebarform').fadeOut('slow');
$('.sidebarsuccess').fadeIn('slow');
的fadeOut
函数,它执行时的动画完成回调:
$('.sidebarform').fadeOut('slow', function() {
$('.sidebarsuccess').fadeIn('slow');
});
另一种选择是使用的承诺,这将等待所有未决动画即使他们在其他地方启动,也可以在.sidebarform上完成:
$('.sidebarform').fadeOut('slow').promise().done(function() {
$('.sidebarsuccess').fadeIn('slow');
});
虽然其他答案有绿色复选标记,但我相信此答案更具体地解决了我的问题。 – Lewis
keep i不管你的选择器是否过于普通,完成函数会在每个元素完全淡出时触发,所以如果有一些元素已经隐藏起来,它会立即触发。 – box86rowh
我已经使用了:可见选择器来解决@ box86rowh描述的问题。请参阅:http://api.jquery.com/visible-selector/ –