javascript - Angular Animations 完成后重置样式
问题描述
我目前正在创建一些 Angular 动画。我正在触发由列表组成的 div 上的动画。触发动画时,我想折叠列表,然后将整个 div 滑出视口。我的问题是,height
当父 div 的动画被触发时,列表的 被重置。
我的代码如下所示:
trigger('removeAnimation', [
transition(':leave', [
query('.container', animate('1s ease-in', style({ height: 0 })
)),
animate('1s ease-in', keyframes([
style({ transform: 'translate3d(0, 0, 0)', offset: 0.33 }),
style({ transform: 'translate3d(-150%, 0, 0)', opacity: 0, offset: 0.66 }),
style({ transform: 'translate3d(-150%, 0, 0)', opacity: 0, height: 0, offset: 1.0 })
]))
])
])
在查询.container
完成之后,在animate
执行块之前,.container
'高度恢复到它的'开始高度。然后它执行animate
.
我如何保持新的height
?我试图添加一个style
between query
andanimate
和作为一种解决方法。但是,我始终不知道height
父母的情况。
编辑:我想出了一个“解决方法”。您可以在查询后添加以下内容以强制 div 重新设置其高度,而无需(现在缺少)子 div:
style({ height: 'auto' })
对我来说,这暂时可行,但这只是因为我的变化很小。如果我要在查询中为多个内容设置动画,我想这样维护会更加困难。
解决方案
推荐阅读
- javascript - TableSorter:如何在 TableSorter 中隐藏/显示结果
- c++ - 从 ppm 图像文件中读取值时出现 c++“运行时检查失败 #2 - 变量周围的堆栈已损坏”错误
- c# - 访问远程对象时“此代理不支持 InitializeLifetimeService”
- amazon-s3 - Fluentd grep + 输出日志
- javascript - 为过滤大型数组选择正确的模式 - 休息与本地数组
- javascript - materializcess carousel 没有初始化(
- xamarin - 获取Listview中Scrollbar的最大值和当前值
- django - Django - 建模 - 多表参考
- c# - 将数据从我的服务添加到我的视图模型时,为什么我的视图没有更新?
- itext - 使用 Itext 和 html2Pdf 实现自定义 Css 属性的正确方法