0

我试图通过将框高度调整为溢出的内容高度来修复溢出的浮动内容,但它似乎并没有起到作用。

            if ( $('.content-right').outerHeight() > $('.content-right').parent().parent().height() ) {
                $('.content-right').parent().parent().height($('.content-right').outerHeight(true));
            }
            console.log('Box Height: ' + $('.content-right').parent().parent().height());
            console.log('Content Height: ' + $('.content-right').height() );

这将输出

Box Height: 599
Content Height: 594 

这是不正确的,因为在下面的示例中 div 显然要大得多。有任何想法吗?

问题领域 图片形式的问题区域:http: //prntscr.com/4p1obb

4

1 回答 1

1

在旧版本中有一个错误 jQuery outerHeight,如果您不传递参数,它将不会返回高度。此外,正如评论中所建议的,您需要从 height() 中删除 true。

if ( $('.content-right').outerHeight(true) > $('.content-right').parent().parent().height() ) {
  $('.content-right').parent().parent().height($('.content-right').outerHeight(true));
}
console.log('Box Height: ' + $('.content-right').parent().parent().height());
console.log('Content Height: ' + $('.content-right').height() );

更新:

试试这个(上面提到的错误仍然适用,所以一定要输入一个参数)。下面的代码给了我 868 的高度。

var outerHeight = 0;
$('.content-right > *').each(function() {
  outerHeight += $(this).outerHeight(true);
});
console.log(outerHeight);
于 2014-09-21T20:42:56.983 回答