document.body.scrollTop返回值為0解決方案
在應用可能會遇到這樣的情況,那就是document.body.scrollTop有時候能夠正確的返回頁面上滾的距離,有時候得到的值卻只是0,之所以出現此現象是因為存在著瀏覽器相容性問題,下面就做一下簡單介紹。
一.符合w3c標準的情況:
當在頁面的頂端新增<!DOCTYPE html>的時候會出現如下情況:
1.IE和火狐瀏覽器中,document.body.scrollTop返回值是0,document.documentElement.scrollTop則能夠返回正常值。
2.在谷歌瀏覽器中,document.body.scrollTop能夠返回正常值,而document.documentElement.scrollTop不能。
二.不符合w3c標準的情況:
也就是頁面頂端沒有<!DOCTYPE html>的時候會出現如下情況:
1.IE和火狐瀏覽器中,document.body.scrollTop能夠返回正常值,document.documentElement.scrollTop不能夠返回正常值。
2.在谷歌瀏覽器中,document.body.scrollTop能夠返回正常值,document.documentElement.scrollT也不能夠返回正常值。
最後總結:
谷歌瀏覽器是最為符合w3c標準的瀏覽器之一,但是這個地方有點反常,IE和火狐需要使用document.documentElement.scrollTop返回正常的,而谷歌瀏覽器則需要使用document.body.scrollTop,所以要進行一下相容性處理,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼document.documentElement.scrollTop || document.body.scrollTop;
程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body{ height:1000px; } #thediv{ position:absolute; top:0px; right:0px; width:50px; height:50px; background:green; } </style> <script type="text/javascript"> window.onload=function(){ window.onscroll=function () { var odiv=document.getElementById("thediv"); var top=document.documentElement.scrollTop || document.body.scrollTop; odiv.style.top=top+"px"; } } </script> </head> <body> <div id="thediv"></div> </body> </html>
相關文章
- id 為非自增 模型取回為 0 的解決方案模型
- jQuery.position()方法獲取值為0解決方案jQuery
- chrome下document.documentElement.scrollTop為0的解決方案Chrome
- 一種處理laravel返回值響應的解決方案Laravel
- 行為管控解決方案
- 使用mysql 統計函式 結果為null時返回值改為0MySql函式Null
- 為企業量身定做CRM解決方案
- VS 返回值被忽略的解決方法
- 解決centos 7 安裝、檢查和配置源為aliyun解決方案CentOS
- 解決方案| anyRTC金融音視訊解決方案
- 兩表互為外來鍵的解決方案
- 【原創】autotrace中statistics為0的問題的解決
- “The last packet sent successfully to the server was 0 milliseconds ago. ”異常解決方案ASTServerGo
- 關於0xc000007b的一種解決方案
- LAMP解決方案LAMP
- 頭位資訊平臺為何被視為運營解決方案?
- 軟通動力為品牌提供全域電商解決方案
- 高併發解決方案詳解(9大常見解決方案)
- ios不支援fixed解決解決方案iOS
- $(document).scrollTop()返回值始終是0解析
- 前端整合解決方案前端
- 高可用解決方案
- UnexpectedRollbackException解決方案Exception
- Feast on Amazon 解決方案AST
- 埠占用解決方案
- 北鯤雲如何為企業提供混合雲解決方案
- 讓員工成為安全解決方案,而非安全隱患
- ajax呼叫,action返回的中文為亂碼的解決方案
- 安裝WSL報錯0x80370102解決方案
- Xshell拖拽檔案時傳輸速度為0的解決方法
- 關於EJB查詢返回值的解決方法 (轉)
- 智慧停車場解決方案,反向尋車系統解決方案
- Windows更新報錯 0xc1900101 0x30018 解決方案Windows
- scrollTop()返回值一直等於0原因
- 眾至科技:0程式碼解決方案,一站式解決雲端資料安全及合規難題
- LongHash將為東京市政府提供區塊鏈解決方案區塊鏈
- 跨域問題,解決方案 – CORS方案跨域CORS
- 跨域問題,解決方案 - CORS方案跨域CORS