【发布时间】:2015-08-05 15:20:11
【问题描述】:
所以我正在尝试为一些引导徽章创建幻灯片效果,我使用 AngularJS 来显示一些子类别
我有两种类别,父类和子类。当我单击父级时,我想显示父级的子类别,如果它们已经显示,则隐藏它们。
我正在使用 ng-show 指令来执行此操作。我遇到的问题是,当我想使用 CSS 过渡来滑入和滑出这些子类别时,动画不会显示,它只是显示或隐藏它们。就像动画没有机会发生一样,因为显示/隐藏指令覆盖了过渡。
这里是html:
<div ng-controller="MainController">
<ul ng-repeat="category in categories">
<li ng-if="category.category_type=='parent'" ng-show="category.category_show">
<span class="badge badge-p" ng-click="updateResults(category)">{{category.category_name}}</span>
</li>
<li ng-if="category.category_type == 'child'" ng-show="category.category_show">
<span class="badge badge-c badge-slider">{{category.category_name}}</span>
</li>
</ul>
</div>
以下是相关的 CSS 过渡和 .ng-hide 内容:
.ng-hide-add, .ng-hide-remove {
display: block !important;
}
.badge-slider {
max-height: 100px;
-webkit-transition: max-height linear 0.5s;
-moz-transition: max-height linear 0.5s;
-o-transition: max-height linear 0.5s;
transition: max-height linear 0.5s;
}
.badge-slider.ng-hide {
max-height: 0px;
}
这是一个 plnkr,所以你可以看到我正在做的一个非常非常简化的版本是如何工作的:http://plnkr.co/edit/PEAxMV1SA0Wk6fpNhJH4
非常感谢任何帮助!
【问题讨论】:
标签: javascript css angularjs transition