我正在使用AngularJS和一些动画:我需要我的li从下到上加载。
我正在使用一些像这样的简单代码:http://www.nganimate.org/angularjs/ng-repeat/appear
为了清楚起见,我的问题不是按照字母顺序排列,我需要它们从最后一个到第一个视觉加载,期望div从顶部开始变大,而不是从底部开始。 是否有一种简单的方法可以在角度中执行此操作(可能不涉及太多的CSS更改)?
答案 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/