scrollHeight、scrollTop、clientHeight瀏覽器相容問題
本章節介紹一下標題中的幾個屬性的相容性問題,需要的朋友可以做一下參考。
DTD已宣告:
IE瀏覽器(準確的說是低版本IE瀏覽器):
[JavaScript] 純文字檢視 複製程式碼document.documentElement.scrollHeight 瀏覽器所有內容高度 ,document.body.scrollHeight 瀏覽器所有內容高度 document.documentElement.scrollTop 瀏覽器滾動部分高度,document.body.scrollTop 始終為0 document.documentElement.clientHeight 瀏覽器可視部分高度,document.body.clientHeight 瀏覽器所有內容高度
FF瀏覽器:
[JavaScript] 純文字檢視 複製程式碼document.documentElement.scrollHeight 瀏覽器所有內容高度 ,document.body.scrollHeight 瀏覽器所有內容高度 document.documentElement.scrollTop 瀏覽器滾動部分高度,document.body.scrollTop 始終為0 document.documentElement.clientHeight 瀏覽器可視部分高度,document.body.clientHeight 瀏覽器所有內容高度
谷歌瀏覽器:
[JavaScript] 純文字檢視 複製程式碼document.documentElement.scrollHeight 瀏覽器所有內容高度, document.body.scrollHeight 瀏覽器所有內容高度 document.documentElement.scrollTop 始終為0,document.body.scrollTop 瀏覽器滾動部分高度 document.documentElement.clientHeight 瀏覽器可視部分高度,document.body.clientHeight 瀏覽器所有內容高度
DTD未宣告:
IE瀏覽器(準確的說是低版本IE瀏覽器):
[JavaScript] 純文字檢視 複製程式碼document.documentElement.scrollHeight 瀏覽器可視部分高度,document.body.scrollHeight 瀏覽器所有內容高度 document.documentElement.scrollTop 始終為0,document.body.scrollTop 瀏覽器滾動部分高度 document.documentElement.clientHeight 始終為0,document.body.clientHeight 瀏覽器可視部分高度
FF瀏覽器:
[JavaScript] 純文字檢視 複製程式碼document.documentElement.scrollHeight 瀏覽器可視部分高度, document.body.scrollHeight 瀏覽器所有內容高度 document.documentElement.scrollTop 始終為0,document.body.scrollTop 瀏覽器滾動部分高度 document.documentElement.clientHeight 瀏覽器所有內容高度,document.body.clientHeight 瀏覽器可視部分高度
谷歌瀏覽器:
[JavaScript] 純文字檢視 複製程式碼document.documentElement.scrollHeight 瀏覽器可視部分高度,document.body.scrollHeight 瀏覽器所有內容高度 document.documentElement.scrollTop 始終為0,document.body.scrollTop 瀏覽器滾動部分高度 document.documentElement.clientHeight 瀏覽器所有內容高度,document.body.clientHeight 瀏覽器可視部分高度
相關知識說明:
瀏覽器所有內容高度即瀏覽器整個框架的高度,包括滾動條捲去部分+可視部分+底部隱藏部分的高度總和
瀏覽器滾動部分高度即滾動條捲去部分高度即可視頂端距離整個物件頂端的高度。
最後總結:
1、document.documentElement.scrollTop和document.body.scrollTop始終有一個為0,所以可以用這兩個的和來求scrollTop
2、scrollHeight、clientHeight 在DTD已宣告的情況下用documentElement,未宣告的情況下用body
所以,判斷滾動條是否已拉到頁面最底部,可以用如下程式碼:
[JavaScript] 純文字檢視 複製程式碼window.onscroll = function (){ var marginBot = 0; if (document.compatMode === "CSS1Compat"){ marginBot = document.documentElement.scrollHeight - (document.documentElement.scrollTop+document.body.scrollTop) - document.documentElement.clientHeight; } else { marginBot = document.body.scrollHeight - document.body.scrollTop - document.body.clientHeight; } if(marginBot<=0) { //do something } }
相關文章
- scrollHeight和scrollWidth瀏覽器相容瀏覽器
- CSS瀏覽器相容問題集CSS瀏覽器
- 導航的瀏覽器相容問題瀏覽器
- 瀏覽器相容問題和webapp瀏覽器WebAPP
- 相容各個瀏覽器的scrolltop屬性簡單介紹瀏覽器
- 瀏覽器相容問題處理總結瀏覽器
- 用jquery解決瀏覽器相容問題jQuery瀏覽器
- CSS程式碼在不同瀏覽器相容問題CSS瀏覽器
- 關於UC瀏覽器相容scroll事件問題瀏覽器事件
- angular瀏覽器相容性問題解決方案Angular瀏覽器
- 柯大俠整理的常見瀏覽器相容問題瀏覽器
- 各大瀏覽器滾動條相容性問題瀏覽器
- 關於瀏覽器相容的一些問題瀏覽器
- IE瀏覽器下常見的CSS相容問題瀏覽器CSS
- 談談CSS瀏覽器的相容問題。集錦CSS瀏覽器
- IE瀏覽器相容瀏覽器
- parseInt()瀏覽器相容瀏覽器
- 9:瀏覽器相容瀏覽器
- 主流瀏覽器相容性問題與解決方案瀏覽器
- javascript for in語句瀏覽器相容問題簡單介紹JavaScript瀏覽器
- getBoundingClientRect()瀏覽器相容問題簡單介紹GCclient瀏覽器
- 瀏覽器相容性問題解決方案 · 總結瀏覽器
- 如何機智地回答瀏覽器相容性問題瀏覽器
- element.clientHeight,offsetHeight,scrollHeightclient
- 關於CSS3及瀏覽器相容性問題CSSS3瀏覽器
- 網頁設計中如何解決瀏覽器相容問題網頁瀏覽器
- 關於瀏覽器相容瀏覽器
- 瀏覽器相容性瀏覽器
- CSShack瀏覽器相容一覽表CSS瀏覽器
- 用CSS hack技術解決瀏覽器相容性問題CSS瀏覽器
- 瀏覽器安全問題分析瀏覽器
- 瀏覽器相關問題瀏覽器
- forEach()相容所有瀏覽器瀏覽器
- CSS瀏覽器相容彙總CSS瀏覽器
- Web前端瀏覽器相容初探Web前端瀏覽器
- 好程式設計師前端教程-關於瀏覽器的相容問題程式設計師前端瀏覽器
- 5 個技巧避免不必要的瀏覽器相容性問題瀏覽器
- edge瀏覽器相容性設定在哪 新版edge瀏覽器相容模式怎麼弄瀏覽器模式