如何在以下jQuery切换功能中将此元素的高度设置为自动?

时间:2011-12-06 08:59:39

标签: jquery

现在我正在使用以下内容将元素设置为150px:

$(".user-review-toggle").toggle(function(){
        $(this).css("display", "none");
        $(this).css("backgroundPosition", "0 -12px");
        $(this).prev('.user-review').animate({height: 150}, 200, function () {
            $(this).css("overflow", "visible");
        });
    }, function(){
        $(this).css("backgroundPosition", "0 0");
        $(this).prev('.user-review').animate({height: 98}, 200, function () {
            $(this).css("overflow", "hidden");
        });
    });

我想将元素的高度设置为自动动画。

有任何建议可以实现这一目标吗?

编辑:

我尝试将元素的高度设置为auto并提取高度,然后使用它但它不起作用:

$(".user-review-toggle").toggle(function(){
$(this).prev('.user-review').css('height', 'auto');
    var height = $(this).prev('.user-review').height();

$(this).css("display", "none");
$(this).css("backgroundPosition", "0 -12px");
$(this).prev('.user-review').animate({height: height}, 200, function () {

1 个答案:

答案 0 :(得分:1)

如果您想将高度设置为内容的高度,那么为什么不将$('.user-review').height()作为参数传递给animate函数。

.height()将始终返回内容高度,无论CSS box-sizing属性的值如何。