我认为有一种简单的方法可以在动画调整大小期间使容器高度流动,但如果是这样,我已经忘记了。在我以编程方式执行之前,我想我会在这里测试一下我的运气。
这个想法是底部<hr />
应该像动画一样优雅地向上/向下移动#content
,而不是在动画之后捕捉到位 -这是由于#container
未调整大小。
HTML:
<button id="trigger">trigger</button>
<hr />
<div id="container">
<div id="content">foo
<br />foo
<br />foo
<br />foo
<br />foo
<br />
</div>
</div>
<hr />
JS:
$('#trigger').click(function () {
var $content = $('#content');
if (!$content.hasClass('hidden')) {
$content.stop(true, true).hide('drop', {
easing: 'easeInQuad',
direction: 'up'
}, 'slow');
$content.addClass('hidden');
} else {
$content.stop(true, true).show('drop', {
easing: 'easeInQuad',
direction: 'up'
}, 'slow');
$content.removeClass('hidden');
}
});