从这个 jsfiddle 可以看出:
http://jsfiddle.net/robcampo/pWGuS/
我正在尝试使用 Angular 动画淡出一个元素并淡出另一个元素。
褪色(使用不透明度和过渡)有效。但是,正如您将看到的,它会先显示先前隐藏的元素,然后再隐藏当前显示的元素。这样一来,您就可以同时展示这两个元素。
问题
有没有办法等到第一个元素完全隐藏后再显示第二个元素?很确定我可以使用自定义指令来做到这一点,但在走这条路之前,我想确保没有开箱即用的方式。
我试过的
a)在淡入的元素上放置一个转换延迟:
.ng-hide-remove {
-webkit-transition: all 1s ease 1s;
transition: all 1s ease 1s;
opacity: 0;
}
b) 使用高度属性
这对我不起作用,因为我隐藏在我的应用程序中的 div 是网格系统的一部分。
笔记
如果我要在 jQuery 中实现它,它会是:
elementToFadeOut.fadeOut(1000, function() {
elementToFadeIn.fadeIn(1000);
});