Javascript nAnimate removeClass工作不正常
我一直在使用AngularJS 1.2.14的ngAnimate模块 当我使用$animate.addClass时,它可以正确地添加ng animate,-add,-add active 然而,当我使用$animate.removeClass时,它似乎只是运行与elem.removeClass等效的程序。没有动画类应用于移除(例如ng animate、-remove、-remove active) 这是plnkr复制的问题Javascript nAnimate removeClass工作不正常,javascript,angularjs,css,ng-animate,Javascript,Angularjs,Css,Ng Animate,我一直在使用AngularJS 1.2.14的ngAnimate模块 当我使用$animate.addClass时,它可以正确地添加ng animate,-add,-add active 然而,当我使用$animate.removeClass时,它似乎只是运行与elem.removeClass等效的程序。没有动画类应用于移除(例如ng animate、-remove、-remove active) 这是plnkr复制的问题 我可以手动编写删除方法的代码,但我更喜欢使用Animate指令。您需要
我可以手动编写删除方法的代码,但我更喜欢使用Animate指令。您需要在元素的类本身上定义转换,而不是在正在添加/设置动画的类上定义转换 这样,
$animate
将查看该类并意识到它已应用了一个转换,并相应地设置动画。否则,它就不需要添加/删除类,因为这将同时发生
看
使用的CSS类:
.classname {
// The class of the element you want to animate
// Its default state (invisible).
}
.classname.visible-class-add {
// Any preparatory work you need to do before animating
// This is the ideal place to put your transition property.
}
.classname.visible-class-add-active{
// during-animation class (often none needed)
}
.classname.visible-class-remove {
// Pre- remove class: possibly the same as .visible-class-add
}
.classname.visible-class-remove-active {
// any during-animation style (often none required)
}
.classname.visible-class {
// The visible state.
}
这个解决方案有效。但是,它似乎没有遵循文档风格。这显示ng animate类同时应用于add和remove方法。如果检查卡,则会同时显示
ng animate
类。要使其变慢,请更改转换持续时间,这样会更容易看到。虽然你的CSS很奇怪,但我会编辑以显示你应该拥有的类是否有理由附加转换代码ng animate
不起作用?如下所示:.ng animate{-webkit transition:-webkit transform 0.3s ease,opacity 0.3s ease;transition:transform 0.3s ease,opacity 0.3s ease;}
是的-angular不在ng animate
中查找css动画。该类用于javascript动画。同样地,如果你的转换代码在那里,那么angular认为你还没有为那个元素定义任何转换。是的,我一直在使用它,它是一个很好的资源。我只是玩了一会儿,得出了和你上面键入的相同的结论:-)谢谢!