【发布时间】:2016-02-14 12:26:53
【问题描述】:
在过去的几个月里,我时不时地对在应用程序中实现 ngAnimate 感到非常兴奋,而每次我都为自己做不到这一事实而感到沮丧。
有趣的是,文档非常直截了当,所以我知道可能有一些非常明显的东西让我措手不及。
例如,当尝试对 ngRepeated 元素数组进行分页时,我似乎无法让 fade 动画工作。看看吧:
HTML
重复元素
<div ng-repeat="image in images" ng-hide="image.hidden">
<canvas ng-mouseover="getCoordinates($event)" id="{{image.name}}" ng-hide="image.hidden" class="fade"></canvas>
</div>
分页器
<tr>
<td><input ng-model="coordinates.x"></td>
<td><input ng-model="coordinates.y"></td>
<td><i type="button" ng-click="page(left)" class="fa fa-arrow-left"></i></td>
<td><i type="button" ng-click="page(right)" class="fa fa-arrow-right"></i></td>
</tr>
CSS
/* The starting CSS styles for the enter animation */
.fade.ng-enter {
transition:0.5s linear all;
opacity:0;
}
/* The finishing CSS styles for the enter animation */
.fade.ng-enter.ng-enter-active {
opacity:1;
}
我也试过这个:
.ng-enter {
transistion: 0.5s linear all;
opacity: 0;
};
.ng-enter-active {
transition: 0.5s linear all;
opacity: 1;
};
.ng-leave {
transition: 1s linear all;
opacity: 1;
};
.ng-leave-active {
transition: 0.5s linear all;
opacity: 0;
};
为了使这篇文章更简短,我将放弃 javascript 的东西,但让分页工作就足够了。
现在,从我的角度来看,问题似乎是 Angular.js (1.4.7) 在隐藏/显示时没有添加 ng-enter 等类。这可能是什么原因?
This 帖子建议我降级我的 Angular.js 版本,但我不会这样做。我相信动画应该可以在最新版本上运行,我只需要弄清楚如何。
【问题讨论】:
标签: css angularjs animation css-animations ng-animate