AngularJS动画从下到上

时间:2014-03-12 13:23:45

标签: javascript css angularjs css-animations

我正在使用AngularJS和一些动画:我需要我的li从下到上加载。

我正在使用一些像这样的简单代码:http://www.nganimate.org/angularjs/ng-repeat/appear

为了清楚起见,我的问题不是按照字母顺序排列,我需要它们从最后一个到第一个视觉加载,期望div从顶部开始变大,而不是从底部开始。 是否有一种简单的方法可以在角度中执行此操作(可能不涉及太多的CSS更改)?

1 个答案:

答案 0 :(得分:1)

我的建议是在加载lis时显示ul

所以,如果您的HTML看起来像这样

<div ng-app ng-controller="ctrl" class="container">
  <ul ng-class="{slideIn: isLoaded}">
      <li ng-repeat="item in list">{{item}}</li>
  </ul>
</div>

你可以在控制器中使用它(不是我使用$ timeout来进入下一个周期,否则,没有转换)

function ctrl($scope, $timeout) {
        var itemCount=10;
        $scope.list=[];
        while (itemCount--) {
            $scope.list.push("my item "+itemCount);
        }
        $timeout(function(){
            $scope.$apply(function(){
                $scope.isLoaded = true;
            });
        });
    }

然后为过渡添加css

    ul {
      padding: 0;
      position: absolute;
      top: -100%;
      left: 0;
      right: 0;
      transition-property: top;
      transition-duration: 0.4s;
      transition-timing-function: ease-out;
    }
    .slideIn {
      top: 0;
    }

您可以在此处看到它:http://jsfiddle.net/LBygk/