我有div
height = 40 px
。我在里面加载了一个html字符串,可能有一个随机内容的高度。
我正在尝试将容器的高度设置为新内容的高度(根据jQuery animate height to auto):
var jqObj = $('<div/>').html($.parseHTML(htmlString)).hide();
$('.mainCont').html(jqObj.html());
jqObj.fadeIn('slow');
var height = $('.mainCont').css('height', 'auto').height(); // get real height
$('.mainCont').animate({height: height+'px'}, 2000);
但是我没有看到任何动画,只有单个跳转到所需的高度。如何解决?
我看到$('.mainCont').css('height', 'auto').height()
出现了这种情况。但没有它,我无法获得新内容的高度
答案 0 :(得分:2)
jQuery只能为数字设置动画,但是您将样式高度设置为auto
,然后您尝试将其设置为整数,并且jQuery不知道如何从字符串{{1设置动画。因为它没有任何意义。
在设置动画之前将高度设置为数字
auto
我把它设置为零,我猜你想要的东西不是你得到的数字,否则你是从当前高度动画到当前高度,这意味着没有动作。