我想结合使用 velocity.js 和 ng-animate 来为我的应用程序创建自定义 js 动画。我在网上搜索了很多答案和教程,这些答案和教程都引用了旧版本的 ng-animate,随着时间的推移,这显然已经改变了很多 API。所以现在,这就是我的动画的样子:
app.animation('.lb-fade', function () {
return {
addClass: function (element, className) {
element.velocity({
opacity: 1
},{
duration: 900,
easing: 'easeInSine'
});
}
};
});
我这样使用它:
$animate.addClass(backdrop, 'lb-fade').then(console.log('promise resolved'));
这种工作,但我有两个问题:
- 承诺有时会提前解决(在动画完成之前)。看起来它是随机发生的。
- 如何将参数传递给动画?例如,我希望我的一些 lb-fade 动画使用速度延迟选项。我可以创建多个动画 (!DRY) 或访问动画内的元素范围(这对我来说似乎很 hacky)。有正确的方法吗?
将 ng-animate 与速度一起使用是否有意义,或者我应该创建自己的函数来保存动画代码?