document.body和document.documentElement的區別和用法

對於這兩個元素的使用通常是如下兩種狀況 chrome

clientWidth和clientHeight spa

scrollWidth,scrollHeight,scrollLeft,scrollTop cli

如今假設每一個屬性的意思你都明白 scroll

  • 對於ie7以上和火狐:

經過document.documentElement均可以取到標準屬性, di

  • 對於ie6:

則要經過document.body才能都取到正確的屬性 解決方案

  • 對於chrome

是用區別的 document

經過document.documentElement  clientWidth和clientHeight,scrollWidth,scrollHeight均可以取到正確的屬性 undefined

但對於scrollLeft,scrollTop,只有經過document.body才能取到正確的屬性

但經過document.body的話,都是能夠取到正確的屬性,這點和ie6同樣

最後要說的是,取不到正確值,不是undefined,而是要麼是0,要麼是都等於窗口大小,這個不重要,不提也罷

最後說解決方案

若是不要求ie6:

除了scrollTop,scrollLeft  都要用document.documentElement來取,

若是涉及到scrollTop,scrollLeft(照顧chrome),這兩個屬性要用document.body來取了

若是要求ie6:

那就都要取document.body取到的值和document.documentElement取到的值的最大值了

Math.max();

相關文章
相關標籤/搜索