我们基本上想要为当前设置的元素设置动画
my.css文件:
#stuff {
max-height: 70px
}
到max-height: auto
。
$('#stuff').animate({'max-height': 'auto'});
不起作用 - 这当然'auto'不是一个数字。
要点是:如果我设置max-height: auto
div有一些计算高度(如Chrome开发者工具中所见)大约200px - 但由于内容可以编辑,我不能硬编码。< / p>
如果我使用固定值,如
$('#stuff').animate({'max-height': 200});
这有效 - 但是如果div的内容变得更好(可以在CMS中编辑)该怎么办。
有没有办法确定div与max-height: auto
(大约200px)的高度,然后使用此值来正确设置它的动画?
答案 0 :(得分:1)
#stuff元素包含两个嵌套的div:
<div id="stuff">
<div id="a">Lorem Ipsum</div>
<div id="b">Lorem Ipsum</div>
</div>
我现在正在使用$('#a').outerWidth() + $('#b').outerWidth()
来计算我需要的高度。 (罗斯'答案中的cHeight
)
选项可能是
答案 1 :(得分:1)
我认为你需要做的就是准备好DOM,计算div的实际高度:
$(function () {
var $stuff = $('#stuff');
var height = $stuff.clone().css({
position: 'absolute', // hide this cloned element
left: '-10000px',
maxHeight: 'none' // clear the max-height set by CSS
}).appendTo('body').height();
$stuff.animate({
maxHeight: height
});
});
上查看