2011-11-25 118 views
3

我需要這兩個元素屬性的幫助。爲什麼document.body.scrollHeight可能比document.body.offsetHeight大

根據MDN element.scrollHeight「這一元素的滾動視圖的高度;它包括元件填充而不是它的邊際」,和element.offsetHeight「典型地,元件的的offsetHeight是測量,其包括該元素的邊界,所述元件垂直填充,元素水平滾動條(如果存在,如果呈現)和元素CSS高度。「

我想調試一些JavaScript代碼,不明白爲什麼document.body.scrollHeight可以比document.body.offsetHeight更大?
例如,我的document.body.offsetHeight = 909,但document.body.scrollHeight = 1059(主體沒有任何邊距或填充或邊框),所以我們在某處丟失了150px。我檢查了身體,它的身高= 909,這讓我非常困惑。這在Chrome和Firefox中轉載。

你能幫我解決這個問題嗎?

+1

document.body的!= document.documentElement中 –

+0

對不起球員,這是我的可怕的錯誤,週五晚上:)我糾正我的問題。 – Kai

+0

比...這是一個很好的問題;) –

回答

3

offsetHeight屬性描述活動窗口當前可用空間的頂部距離多遠。 scrollHeight屬性是從一個容器的內部頂部到內部底部的多少像素,這與容器上的clientHeight設置爲有限的高度並使用overflow:scrollcss屬性不同。

我使用的項目大多數的這些我的工作在http://prettydiff.com/jsgui/