【发布时间】:2014-04-23 05:01:35
【问题描述】:
我是 AngularJS 的新手,我想学习最好的方法来做到这一点。
这是我的问题: 我有一个锚点,点击它后,它应该在“显示全部”和“全部隐藏”类之间切换,并更新 div 的 css。
这是我目前所拥有的:
<a class="{{state}}" href="#" ng-click="ToggleDisplay()"><p>{{stateTitle}}</p></a>
<div>CSS should be updated here</div>
还有一个额外的问题:是否有简单的方法来转换 div 上的 CSS 更改(从 height:200px 到 height:auto)?
【问题讨论】:
-
如果尺寸的起点或终点为“自动”,则无法在 CSS 中设置动画(过渡),但可以通过定义即开始:
max-height:200px和结束:max-height: 1000px来破解它- 唯一的问题是过渡时间总是从精确值计算出来的,所以如果内容的高度为 500px,高度的动画将比内容为 900px 时更快地完成 -
和 css 更新是这样完成的
<div ng-style="{'max-height': state=='show-all' ? '1000px' : '200px'}">whatever</div>jsfiddle.net/tQ9Af -
谢谢,成功了! :) 虽然我决定不使用过渡,因为 div 的高度变化很大,当 max-height 设置为 1000px 时,短 div 的关闭过渡看起来有点滑稽。
标签: javascript html css angularjs styling