因不正确的类而触发动画

时间:2013-09-23 12:06:06

标签: javascript css angularjs animation

我有两个班级,class1class2。我已将class2.class2-add的动画绑定在一起。但是,在以下示例中,切换任一类都会触发动画。是什么给了什么?

http://plnkr.co/edit/V1bf0waCnUWCt58F3Y63

我不想在切换class1时触发动画。

1 个答案:

答案 0 :(得分:1)

根据ngClass

  

当表达式发生变化时,先前添加的类将被删除,然后才会添加新类。

这意味着类被删除并重新添加回您的指令,这就是为什么它会重新触发您的.class2-add

根据您的实际使用情况,我不知道直接修复。

据我所知,一些补救措施是使用CSS:

.class1-add.class2-add {
  -webkit-transition:none;
  -moz-transition:none;
  -o-transition:none;
  transition:none;
  background-color: #fff;
}

当动画同时存在时取消动画。

ng-class="{class1: class1, class2: class2 && !class1}"

但是,当您移除.class2-add并且.class1当前处于有效状态(TRUE)时,这两种方法仍然会触发.class2

总而言之,-add会在ng-class收到更改时重新触发。{/ p>

链接:http://plnkr.co/edit/bFhKyNZBi5uEG0cyCAc7?p=preview