如何获得溢出的真实.height():隐藏或溢出:滚动div?

emi*_*son 152 jquery height overflow

我有一个关于如何获得div高度的问题.我知道.height()并且innerHeight(),但在这种情况下,他们都没有为我做这项工作.问题是,在这种情况下,我有一个溢出宽度溢出的div:scroll和div有一个固定的高度.

如果我使用.height()或者innerHeight(),它们都给了我可见区域的高度,但如果我想要考虑溢出,我该怎么办?

rek*_*o_t 281

使用.scrollHeightDOM节点的属性:$('#your_div')[0].scrollHeight

  • 更正确地使用$('#your_div').prop('scrollHeight'); (27认同)
  • `scrollHeight`有时会在隐藏(或隐藏其父级)时返回零. (5认同)
  • 根据[这里的评论](http://stackoverflow.com/a/6921849/684229),`.scrollHeight` DOM功能在IE <8.0(https://developer.mozilla.org/en/DOM)中不起作用/element.scrollHeight) (3认同)
  • 纯javascript:`document.getElementById('your_div').scrollHeight` (3认同)
  • 在我的情况下,@ Simon仅返回具有`overflow:hidden`:/的元素中的可见像素数:/ (2认同)

小智 7

有关.scrollHeight属性的更多信息,请参阅文档:

所述Element.scrollHeight只读属性是一个元素的含量的高度的测量,包括由于溢出内容在屏幕上不可见的.scrollHeight值等于元素在不使用垂直滚动条的情况下拟合视点中的所有内容所需的最小clientHeight.它包括元素填充但不包括其边距.