我是angularjs的新手,并希望对每个ng-repeat元素应用500毫秒的延迟。下面的plunker中的代码是我正在寻找的确切内容,但它不适用于最新版本的角度js(1.4.8)。以下网站还介绍了如何应用延迟,但它有点令人困惑,它说的是关于add-active和-remove。
这里是html,css和angular code
<script>
var m = angular.module('App', []);
m.controller('ExampleCtrl', function($scope) {
$scope.items = [];
$scope.addItems = function() {
$scope.items = [
{name: "Apple"},
{name: "Orange"},
{name: "Banana"},
{name: "Lemon"},
{name: "Lime"},
{name: "Melon"},
{name: "Tangerine"}
];
}
});
</script>
ul {
list-style-type: none;
position:relative;
}
li {
background-color:#e3e3e3;
color: #666;
font-family:Arial;
padding:1em;
margin:0 5px 5px 5px;
text-align: center;
text-transform: uppercase;
}
.insert-enter {
-webkit-transform:scale(0);
-webkit-transition-property: all;
-webkit-transition-timing-function: ease-out-cubic;
-webkit-transition-duration: 400ms;
}
.insert-enter.insert-enter-active {
-webkit-transform:scale(1);
}
</style>
<ul>
<li ng-repeat="item in items"
ng-animate="{enter:'insert-enter'}"
style="-webkit-transition-delay:{{$index * 500}}ms"
>
{{item.name}}
</li>
</ul>
答案 0 :(得分:2)
我认为您需要在角度模块中包含ngAnimate依赖项,并在index.html文件中包含ngAnimate库
答案 1 :(得分:1)
以下是您的代码https://plnkr.co/edit/LR9yadLEQySdQjTr6jg5?p=preview
的工作演示我改变的事情:
ngAnimate
模块var m = angular.module('App', ['ngAnimate']);
<button ng-click="addItems()">Add Items</button>
https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular-animate.js
ng-animate="{enter:'insert-enter'}"
.insert-enter
重命名为.ng-enter
.insert-enter.insert-enter-active
重命名为.ng-enter.ng-enter-active