对jQuery还是个新手,所以:快速提问。我有一个div,它为一个响应的公文包weblayout保存各种对象。起初只显示了3个对象,其余的都是通过CSS显示的display: none;
。通过一个按钮,这些不可见的对象就可以通过JavaScript混合进来。代码看起来像这样:
$('#maindiv').click(function() {
$(this).find('.objects').fadeIn();
});
它的工作原理与应该的一样,但由于#maindiv
在CSS文件中设置为height: auto
,所以一旦新对象开始淡入,#maindiv
的高度就会跳跃。由于我需要auto
值,通过CSS的过渡动画无法正常工作。所以问题是:JavaScript有没有办法让#maindiv
的高度从旧的自动值变成新的自动值?或者类似的东西?
有一种方法,尽管它不能100%预测/控制动画的速度。您可以只设置最大高度的动画,这使您仍然可以使用高度:auto。
div {
max-height:1.2em;
-moz-transition: 1s;
-ms-transition: 1s;
-o-transition: 1s;
-webkit-transition: 1s;
transition: 1s;
}
像这个