Javascript jQuery:blend-in div元素应该平滑地扩展父div的自动高度

Javascript jQuery:blend-in div元素应该平滑地扩展父div的自动高度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,对jQuery来说还是个新手,所以:快速提问。我有一个div,其中包含各种对象,用于响应公文包Web布局。首先只显示3个对象,其余的显示:无;通过CSS。通过一个按钮,这些不可见的对象可以通过JavaScript混合在一起。代码有点像这样: $('#maindiv').click(function() { $(this).find('.objects').fadeIn(); }); 就像它应该的那样工作,但是由于maindiv在CSS文件中设置了height:auto,所以只要新对象开

对jQuery来说还是个新手,所以:快速提问。我有一个div,其中包含各种对象,用于响应公文包Web布局。首先只显示3个对象,其余的显示:无;通过CSS。通过一个按钮,这些不可见的对象可以通过JavaScript混合在一起。代码有点像这样:

$('#maindiv').click(function() {
    $(this).find('.objects').fadeIn();
});

就像它应该的那样工作,但是由于maindiv在CSS文件中设置了height:auto,所以只要新对象开始淡入淡出,maindiv的高度就会跳起来。通过CSS的过渡动画显然不起作用,因为我需要自动值。所以问题是:JavaScript有没有办法让maindiv的高度以某种方式从旧的auto值变为新的auto值?或者类似的东西?

有一种方法,尽管它不能100%预测/控制动画的速度。您只需设置“最大高度”的动画,即可继续使用“高度:自动”

div {
max-height:1.2em;

-moz-transition: 1s;
-ms-transition: 1s;
-o-transition: 1s;
-webkit-transition: 1s;
transition: 1s;
}


是的,我以前试过,但正如你所说,不是很可控。我不得不猜测很多,因为它可能只是10个或30多个元素的混合,然后动画可能不会放松,因为最大高度必须设置为超过真实高度的方式。。。此外,div的排列方式与屏幕大小等不同。因此,对于我的这个问题,我真的需要一种方法,使两个自动值之间的差距动画化。不过还是要谢谢你:-