具有css3过渡的角度淡入淡出动画

时间:2014-11-19 22:02:43

标签: angularjs animation css-transitions

我尝试使用ngAnimate和css3过渡点击链接淡入/淡出div。我有以下内容,但它不起作用。 div显示/隐藏,但不会淡入或淡出。我哪里出错:

.fade-in-out.ng-add {
  transition: 1s linear all;
  opacity: 0;
}

.fade-in-out.ng-add-active {
  opacity: 1;
}

.fade-in-out.ng-remove {
  transition: 1s linear all;
  opacity: 1;
}

.fade-in-out.ng-remove-active {
  opacity: 0;
}

div最初是隐藏的(showMe = false)。在页面上是一个将showMe设置为true的链接。

<div ng-show="showMe" class="fade-in-out">          
    <div style="float: right; cursor: pointer;" ng-click="showMe=false">x</div>
    blablabla
</div>

请注意,我使用了角度1.2.26。

1 个答案:

答案 0 :(得分:17)

要使用的正确类别是:

.my-element.ng-hide-add, .my-element.ng-hide-remove {
  transition:0.5s linear all;
}

.my-element.ng-hide-add { ... }
.my-element.ng-hide-add.ng-hide-add-active { ... }
.my-element.ng-hide-remove { ... }
.my-element.ng-hide-remove.ng-hide-remove-active { ... }

在你的情况下,这就足够了:

.fade-in-out {
  transition: 1s linear all;  
  opacity: 1;
}

.fade-in-out.ng-hide {
  opacity: 0;
}

演示: http://plnkr.co/edit/WM60wEYeQD7J1GuHG0WL?p=preview

请注意,必须加载angular-animate.js并且必须将ngAnimate添加为依赖模块。