Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ngAnimate-如何消除额外的延迟?_Javascript_Css_Angularjs_Ng Animate - Fatal编程技术网

Javascript 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

我正在构建一个angularJs应用程序,它应该通过扩展和收缩包含div的div来显示和消失。我正在使用ngAnimate通过特殊的“ng-”css类来控制动画。演示程序似乎正在运行,但ng LEVE命令中有一个奇怪的延迟。在我的示例中,当您松开按钮上的鼠标时,div立即开始增长。但是,当关闭div时,在单击按钮和div开始收缩之间有一个非常明显的时间延迟。你可以在这里看到问题:

这是ngAnimate中的一只虫子吗?我只是做错了什么吗?
谢谢。

发生这种情况的原因是,包含的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;
}