一切似乎很好,jQuery.height()
和jQuery.innerHeight()
與溢出屬性無關。他們會回到高處,而不僅僅是可見的部分。
如果你想知道內容高度,你必須使用scrollHeight
。這scrollHeight
是一個普通的JavaScript屬性您不必使用jQuery
document.getElementById("wrapper").scrollHeight;
或者你可以使用jQuery選擇
見工作的jsfiddle:http://jsfiddle.net/scgz7an5/1/
注意
$('#wrapper').scrollHeight;
返回undefined。
UPDATE
你忘了浮動元素中最重要的組成部分。你忘了清除它們。
看看這個jsfiddle,是對你的編輯,但是清除了浮動元素。在那裏您會看到scrollHeight
和jQuery.height()
的不同值。看到.structureContent
是有滾動條的,不是.content
也不是.width100
。
.structureContent
有overflow: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/
您使用Jquery的哪個'div'來獲得'height'?容器一個,還是內部的? – LcSalazar 2014-09-01 16:12:03
容器一個,裏面有幾個內部的div,它們是從數據庫中產生的。 – 2014-09-01 16:27:07