动画。扩展 div 高度而不直接设置其高度(angular 应用程序)
Animation. Expand div hight without setting directli it's height (angular app)
这是我的代码。 http://jsfiddle.net/anastsiacrs/Lt7aP/1639/
[拜托,运行 jsfiddle 中的示例,Whosebug 的代码没有 运行]
function XController($scope) {
$scope.model={isHidden:true};
}
.open-div{
background-color:red;
//height:260px;
}
.hidden-div{
background-color:green;
//height:60px;
}
.transformable {
-webkit-transition: 3000ms linear;
-moz-transition: 3000ms linear;
-o-transition: 3000ms linear;
-ms-transition: 3000ms linear;
transition: 3000ms linear;
}
<script src="https://code.angularjs.org/1.4.8/angular.js"></script>
<div ng-app ng-controller="XController">
<div ng-class="{'hidden-div' : model.isHidden, 'open-div' : !model.isHidden}" class="transformable">
<input type="button" ng-click="model.isHidden=!model.isHidden" ng-show="model.isHidden" value="Open"/>
<input type="button" ng-click="model.isHidden=!model.isHidden" ng-hide="model.isHidden" value="Close"/>
<p>{{isHidden}} </p>
<div ng-hide="model.isHidden" >
<div>Hello XXX</div>
<p> Some content will be here </p>
<p> Some content will be here </p>
<p> Some content will be here </p>
<p> Some content will be here </p>
<p> Some content will be here </p>
</div>
</div>
</div>
- 如您所见,没有显式高度的动画不适用于此 属性。解决这个问题的可能方法是什么。可能有一些图书馆或 link 会帮助我。
- 如果直接给元素设置高度,还有一个问题是div内容。在 div 完全展开之前比较合适。
一些提示会很高兴
您是否尝试过将 CSSheight
更改为 min-height
?如果隐藏 div
大于最小高度,它仍会展开。应该可以解决您的问题。
这里可以用Bootstrapcollapse.js
这是我的代码。 http://jsfiddle.net/anastsiacrs/Lt7aP/1639/
[拜托,运行 jsfiddle 中的示例,Whosebug 的代码没有 运行]
function XController($scope) {
$scope.model={isHidden:true};
}
.open-div{
background-color:red;
//height:260px;
}
.hidden-div{
background-color:green;
//height:60px;
}
.transformable {
-webkit-transition: 3000ms linear;
-moz-transition: 3000ms linear;
-o-transition: 3000ms linear;
-ms-transition: 3000ms linear;
transition: 3000ms linear;
}
<script src="https://code.angularjs.org/1.4.8/angular.js"></script>
<div ng-app ng-controller="XController">
<div ng-class="{'hidden-div' : model.isHidden, 'open-div' : !model.isHidden}" class="transformable">
<input type="button" ng-click="model.isHidden=!model.isHidden" ng-show="model.isHidden" value="Open"/>
<input type="button" ng-click="model.isHidden=!model.isHidden" ng-hide="model.isHidden" value="Close"/>
<p>{{isHidden}} </p>
<div ng-hide="model.isHidden" >
<div>Hello XXX</div>
<p> Some content will be here </p>
<p> Some content will be here </p>
<p> Some content will be here </p>
<p> Some content will be here </p>
<p> Some content will be here </p>
</div>
</div>
</div>
- 如您所见,没有显式高度的动画不适用于此 属性。解决这个问题的可能方法是什么。可能有一些图书馆或 link 会帮助我。
- 如果直接给元素设置高度,还有一个问题是div内容。在 div 完全展开之前比较合适。
一些提示会很高兴
您是否尝试过将 CSSheight
更改为 min-height
?如果隐藏 div
大于最小高度,它仍会展开。应该可以解决您的问题。
Bootstrapcollapse.js