2

第一次尝试使用角度动画并且无法弄清楚我做错了什么。

我将 AngularJS v1.3.0-build.2805 用于 Angular 本身和 Animation 模块。

-1。包含模块

angular.module('profileApp', [
        'ngAnimate'
]);

-2。在 CSS 中定义样式

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

.fade-in.ng-enter,
.fade-in.ng-leave.ng-leave-active{
  opacity: 0;
}

.fade-in.ng-enter.ng-enter-active,
.fade-in.ng-leave{
  opacity: 1;
}

-3。在 ng-repeat 中包含类

<a class="item fade-in" ng-repeat="item in collection" href="{{client.getPath('product/'+item.slug)}}">
    <div class="thumb">
        <img ng-src="{{item.images[0].imagename}}" alt="{{item.style_name}}">
    </div>
    <h3>{{item.style_name}}</h3>
</a>

我在这里想念什么?

4

1 回答 1

4

这是一个很棒的教程,关于 angularjs 中的惊人动画,作者 yearofmoo

如您对问题的评论中所述,按像素位:

如果要在加载时错开动画,则必须将项目推送到数组中,而不是将整个数组分配给范围。

他还提供了一个不错的plunkr,展示了如何正确制作动画。

列表.html

<div id="list-wrap">
    <ul id="page-list">
        <li class="page-list-item" ng-repeat="item in items" ng-click="tapHandle(this)">
            <span class="page-list-text">{{ item }}</span>
        </li>
    </ul>
</div>

样式.css:

.page-list-item.ng-enter-stagger,
.page-list-item.ng-leave-stagger {
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    -ms-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
    -webkit-transition-duration: 0;
    -moz-transition-duration: 0;
    -ms-transition-duration: 0;
    -o-transition-duration: 0;
    transition-duration: 0;
}

.page-list-item.ng-enter {
    -webkit-transition: 0.2s linear all;
    -moz-transition: 0.2s linear all;
    -ms-transition: 0.2s linear all;
    -o-transition: 0.2s linear all;
    transition: 0.2s linear all;
    -ms-opacity: 0;
    opacity: 0;
}


.page-list-item.ng-enter.ng-enter-active {
    -ms-opacity: 1;
    opacity: 1;
}

.page-list-item.ng-leave {
    -webkit-transition: 0.2s linear all;
    -moz-transition: 0.2s linear all;
    -ms-transition: 0.2s linear all;
    -o-transition: 0.2s linear all;
    transition: 0.2s linear all;
    -ms-opacity: 1;
    opacity: 1;
}

.page-list-item.ng-leave.ng-leave-active {
    -ms-opacity: 0;
    opacity: 0;
}
于 2014-06-25T08:50:07.743 回答