Javascript ngAnimate-如何消除额外的延迟?
我正在构建一个angularJs应用程序,它应该通过扩展和收缩包含div的div来显示和消失。我正在使用ngAnimate通过特殊的“ng-”css类来控制动画。演示程序似乎正在运行,但ng LEVE命令中有一个奇怪的延迟。在我的示例中,当您松开按钮上的鼠标时,div立即开始增长。但是,当关闭div时,在单击按钮和div开始收缩之间有一个非常明显的时间延迟。你可以在这里看到问题: 这是ngAnimate中的一只虫子吗?我只是做错了什么吗?Javascript ngAnimate-如何消除额外的延迟?,javascript,css,angularjs,ng-animate,Javascript,Css,Angularjs,Ng Animate,我正在构建一个angularJs应用程序,它应该通过扩展和收缩包含div的div来显示和消失。我正在使用ngAnimate通过特殊的“ng-”css类来控制动画。演示程序似乎正在运行,但ng LEVE命令中有一个奇怪的延迟。在我的示例中,当您松开按钮上的鼠标时,div立即开始增长。但是,当关闭div时,在单击按钮和div开始收缩之间有一个非常明显的时间延迟。你可以在这里看到问题: 这是ngAnimate中的一只虫子吗?我只是做错了什么吗? 谢谢。发生这种情况的原因是,包含的div的高度为200
谢谢。发生这种情况的原因是,包含的div的高度为200px,但动画将内部div增加到999px。当您触发收缩动画时,它似乎被延迟,因为您无法看到额外的799px消失。如果在每个动画中将“最大高度”更改为200px,则应能正确执行。发生这种情况的原因是,包含div的高度为200px,但动画正在将内部div增加到999px。当您触发收缩动画时,它似乎被延迟,因为您无法看到额外的799px消失。如果在每个动画中将“最大高度”更改为200px,则应能正确执行。 修复延迟解决方案: 将三次贝塞尔(0,1,0,1)变换函数用于元素
.text {
overflow: hidden;
max-height: 0;
transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
&.full {
max-height: 1000px;
transition: max-height 1s ease-in-out;
}
修复延迟解决方案:
将三次贝塞尔(0,1,0,1)变换函数用于元素
.text {
overflow: hidden;
max-height: 0;
transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
&.full {
max-height: 1000px;
transition: max-height 1s ease-in-out;
}
.text {
overflow: hidden;
max-height: 0;
transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
&.full {
max-height: 1000px;
transition: max-height 1s ease-in-out;
}