Javascript jquery-为新内容设置高度动画';s高度

Javascript jquery-为新内容设置高度动画';s高度,javascript,jquery,Javascript,Jquery,我有一个div和height=40px。我在里面加载了一个html字符串,它可能有一个随机内容的高度 我正在尝试将容器的高度设置为新内容的高度(根据): var jqObj=$('').html($.parseHTML(htmlString)).hide(); $('.mainCont').html(jqObj.html()); jqObj.fadeIn(“慢”); var height=$('.mainCont').css('height','auto').height();//获得真正的高度

我有一个
div
height=40px
。我在里面加载了一个html字符串,它可能有一个随机内容的高度

我正在尝试将容器的高度设置为新内容的高度(根据):

var jqObj=$('').html($.parseHTML(htmlString)).hide();
$('.mainCont').html(jqObj.html());
jqObj.fadeIn(“慢”);
var height=$('.mainCont').css('height','auto').height();//获得真正的高度
$('.mainCont').animate({height:height+'px'},2000);
但我没有看到任何动画,只有一个跳跃到所需高度。如何修复它

编辑
我看到
$('.mainCont').css('height','auto').height()
造成了这种情况。但是如果没有它,我就无法获得新内容的高度,jQuery只能设置数字的动画,但是您将样式高度设置为
auto
,然后尝试将其设置为整数,而jQuery不知道如何从字符串
auto
设置动画,因为它没有任何意义

设置动画之前,将高度设置为一个数字

$('.mainCont').css('height', '0px').animate({height: height}, 2000);
我把它设置为零,我猜你想要的不是你得到的数字,否则你就从当前高度到当前高度设置动画,这意味着没有移动

$('.mainCont').css('height', '0px').animate({height: height}, 2000);