【发布时间】:2016-08-14 10:03:03
【问题描述】:
我想使用 animate.css 和 angular 动画显示和隐藏元素。
我已阅读 this SO question 以及 ngShow 和 ngAnimate 的 angular 文档,但仍然无法正常工作。
我在 plunker 上尝试了以下设置,但它不起作用。
app.js
var app = angular.module('plunker', ['ngAnimate']);
app.controller('MainCtrl', function($scope) {
$scope.show = true;
});
index.html
<body ng-controller="MainCtrl">
<p>Show: {{show}}</p>
<div class="show" ng-click="show = !show" ng-show="show === true">Show is true</div>
<div class="hide" ng-click="show = !show" ng-show="show === false">Show is false</div>
</body>
style.css
.show.ng-hide-add {
animation: fadeOut 5s linear;
}
当点击“显示为真”(并因此隐藏它)时,我看到它在隐藏前等待 5 秒,所以发生了 一些事情,但它不会淡出。
如果我将它添加到 css 中,我可以让它工作:
.show.ng-hide-add {
opacity: 1.0;
display: block !important;
transition: opacity 1s;
}
.show.ng-hide-add-active {
opacity: 0;
}
但是,我不想这样做。我想使用animate.css's keyframes(我认为这是正确的术语,我的css术语并不出色),例如fadeIn、fadeOut等。
plunker 显示我所看到的。
我做错了什么?如何将 animate.css 的关键帧动画与 angular 的 ngAnimate 一起使用?
【问题讨论】:
标签: javascript css angularjs animation animate.css