【发布时间】:2015-07-22 00:44:55
【问题描述】:
我正在尝试在点击时为 div 设置动画。当我点击一个链接时,应该会出现一个 div,而我点击的那个 div 会消失。我在这里做了一个例子:
http://plnkr.co/edit/703244UJ0hcG9GjkOjOz?p=preview
顺便说一下,这是一些代码:
<a class="" ng-click="showDetails" ng-if="!showDetails">
Expand
</a>
<div class="animate-if" ng-if="showDetails">
Details!!
<a style="cursor:pointer;" ng-click="!showDetails">
Close
</a>
</div>
{{showDetails}}
</body>
角度
var app = angular.module('plunker', ['ngAnimate']);
app.controller('MainCtrl', function($scope, $window) {
showDetails = false;
});
css:
.animate-if.ng-enter, .animate-if.ng-leave {
-webkit-transition: 1s linear all;
-moz-transition: 1s linear all;
-ms-transition: 1s linear all;
-o-transition: 1s linear all;
transition: 1s linear all;
}
.animate-if.ng-enter {
max-height: 0;
opacity: 0;
}
.animate-if.ng-enter.ng-enter-active {
max-height: 999px;
opacity:1;
}
.animate-if.ng-leave {
max-height: 999px;
opacity:1;
}
.animate-if.ng-leave.ng-leave-active {
max-height: 0;
opacity:1;
}
所以,当我点击“展开”时,应该会出现带有类的 div:animate-if 并消失这个:
<a class="" ng-click="showDetails" ng-if="!showDetails">
Expand
</a>
然后,当我单击“关闭”时,div : animate-if 应该会消失并再次出现“展开”链接。当然使用动画。实际上不工作。不出现或消失。
【问题讨论】:
-
你没有忘记包含 ng-animate.js 吗?这可能是一个愚蠢的问题,但我有时会忘记它..
-
不,ng-animate.js 已经包含在内。我确定
标签: javascript jquery html css angularjs