jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – jQuery .height()在div上输出与.scrollHeight相同的值,带溢出:auto(IE8)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在绕过许多其他问题后,我找不到解决问题的答案.

我正在编写一个本来查明div是否溢出.但是在尝试使用jQuery.height(),jQuery.innerHeight()或JavaScripts offsetHeight检索可见高度时.我得到整个div的值(包括溢出的部分),即:与scrollHeight相同的值.

包含DIV的风格:

{
    overflow-x: hidden;
    overflow-y: auto;
    width: 73%;
    bottom: 0px;
    float: left;
    height: 100%;
    top: 0px;
}

我在jsfiddle上创建了一个模拟场景:http://jsfiddle.net/Lukedturnbull/L2bxmszv/3/(确保将预览屏幕缩小以创建滚动条)

解决方法

一切似乎都很好,jQuery.height()和jQuery.innerHeight()与overflow属性无关.它们将返回高度,而不仅仅是可见部分.

如果您想知道内容高度,则必须使用scrollHeight.这个scrollHeight是一个常规的javascript属性,你不必使用jQuery

document.getElementById("wrapper").scrollHeight;

或者你可以使用jQuery选择器

$('#wrapper')[0].scrollHeight;

见工作jsfiddlehttp://jsfiddle.net/scgz7an5/1/

请注意

$('#wrapper').scrollHeight;

返回undefined.

updatE

你忘记了浮动元素中最重要的部分.你忘了清除它们.

看看这个jsfiddle,是你的编辑,但浮动元素被清除.在那里你看到scrollHeight和jQuery.height()的不同值.看到.structureContent是滚动条,而不是.content .width100.

.structureContent有溢出:auto和你看到的滚动条来自它.

http://jsfiddle.net/L2bxmszv/5/

添加了这个类来清除浮动元素.

.clearfix:before,.clearfix:after,{
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0; }
.clearfix:after {
  clear: both; }
.clearfix {
  zoom: 1; }

输出是这样的

.content
324 for scrollHeight
324 for clientHeight
324 for jQuery.height()
.structureContent
324 for scrollHeight
276 for clientHeight
276 for jQuery.height()

查看有关浮动元素的精彩文章并在此处清除它们:http://css-tricks.com/all-about-floats/

大佬总结

以上是大佬教程为你收集整理的javascript – jQuery .height()在div上输出与.scrollHeight相同的值,带溢出:auto(IE8)全部内容,希望文章能够帮你解决javascript – jQuery .height()在div上输出与.scrollHeight相同的值,带溢出:auto(IE8)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。