使用选择框过滤器的角度动画

时间:2016-04-13 12:58:08

标签: javascript angularjs

我正在尝试为我的过滤器在我的小角度应用中显示的结果设置动画...然而,重点是它只是呈现新的List项而不是隐藏/显示所有项目等。

如何在用户过滤时将结果显示为fadeout / in?

我为我当前的代码创建了一支笔:http://codepen.io/anon/pen/mPxEGE

我尝试将ng-animate="{enter: 'animate-enter', leave: 'animate-leave'}"添加到我的列表项中,但无济于事。它只是在未在过滤器中使用时完全移除LI。 P.s我注意到我的“男性”过滤器无法正常工作:')

3 个答案:

答案 0 :(得分:1)

您必须为animate-enteranimate-leave

添加css
  • 输入:animate-enter&动画进入活性
  • For Leave:animate-leave&动画-离开活性

与指定的here

一样

添加:

.animate-enter {
    -webkit-transition: 1s linear all; /* Chrome */
    transition: 1s linear all;
    opacity: 0;
}

.animate-enter.animate-enter-active {
    opacity: 1;
}

这是updated codepen。我的动画效果不是很好^^

PS。你也不需要将ngAnimate注入控制器。

答案 1 :(得分:0)

我在您的<li>元素和适当的CSS上添加了一个类,它可以正常运行。

<强> HTML

<li class="item" ng-repeat="item in items | filter:search:strict">
        {{item.name}}
</li>

<强> CSS

.item.ng-move,
.item.ng-enter,
.item.ng-leave {
  -webkit-transition:all linear 0.5s;
  transition:all linear 0.5s;
}

.item.ng-leave.ng-leave-active,
.item.ng-move,
.item.ng-enter {
  opacity:0;
}

.item.ng-leave,
.item.ng-move.ng-move-active,
.item.ng-enter.ng-enter-active {
  opacity:1;
}

答案 2 :(得分:0)

角度动画只能以两种方式实现。通过$ animate提供者或通过CSS。

/*


We're using CSS transitions for when
  the enter and move events are triggered
  for the element that has the .repeated-item
  class
*/
.repeated-item.ng-enter, .repeated-item.ng-move {
  -webkit-transition:0.5s linear all;
  -moz-transition:0.5s linear all;
  -o-transition:0.5s linear all;
  transition:0.5s linear all;
  opacity:0;
}

/*
 The ng-enter-active and ng-move-active
 are where the transition destination properties
 are set so that the animation knows what to
 animate.
*/
.repeated-item.ng-enter.ng-enter-active,
.repeated-item.ng-move.ng-move-active {
  opacity:1;
}

http://codepen.io/TheLarkInn/pen/qZoaWE

这是一个为您的重复列表实现动画的codepen。此示例直接来自documentation