1

这是一个简单的 Plunkr,它可以为列表中的项目插入动画。这使用 -webkit-transform 将插入从 scale(0) 缩放到 scale(1)。将 ng-animate="'insert'" 切换为 ng-animate="'fader'" 将使用 Javascript 动画插入项目。

但是:我希望能够在这里使用 CSS 关键帧动画。列表中的最后一个条目是硬编码的,并使用“float-enter-start”类。我似乎无法让 ng-animate 正确应用这个类。似乎设置 ng-animate="''float" 应该有效,但事实并非如此。我错过了什么?

4

1 回答 1

2

您的 CSS 动画代码不起作用的原因是因为它使用的是 CSS3-Animations 而不是过渡。目前 AngularJS ngAnimate 还不支持检测 CSS 动画属性(仅转换)。本周有人要求修复此问题,我计划在本周的星期一和星期五之间进行修复。

同时,如果您仍然希望支持它,那么您可以使用 JavaScript 动画来使其工作,而函数体内没有任何内容。你所做的只是在 CSS 动画 XXXX 毫秒后调用 done() 方法。然后在您的 CSS 代码中(因为 ngAnimate 仍将 CSS 类添加到元素中)您可以使用相同的 CSS 动画代码,但只需在设置超时内的函数主体内使用该总持续时间。

这是代码。只需包含您之前的 CSS 代码即可执行实际动画。 https://gist.github.com/matsko/5426873

于 2013-04-20T18:17:00.017 回答