使用scrollX, pageXOffset, scrollLeft獲取滾動條到窗口做邊界的距離,及其各自的特點

在開發頁面的時候,我們常常會用到一個值,就是滾動條到窗口左邊界的距離,通常可以使用的屬性有三個,分別是:

1. window.scrollX;

2. window.pageXOffset;

3. document.documenetElement.scrollLeft

每個方法都有自己的一些特點和需要注意的地方。

先通過一篇文章來了解下,,地址:http://help.dottoro.com/ljfswxte.php

翻譯如下:

如果你想獲取文檔距離左邊滾動的像素大小,你可以採用以下方法:

  • windwo對象的pageXOffset屬性總是可以返回滾動的長度,不管doctype是什麼類型的,所有瀏覽器都支持這個屬性,除了IE8及其更低版本的IE瀏覽器。
  • window對象的scrollX屬性總是可以返回滾動的長度,不管doctype是什麼類型,Firefox, Chrome和Safari都支持該屬性。
  • 如果文檔中沒有指明文檔類型,在IE, Firefox, Opera, Chrome和Safari中,通過body的scrollLeft可以獲取滾動的數值。
  • 如果有指明文檔類型,那麼在IE, Firefox和Opera中,可以通過html的scrollLeft屬性獲取滾動的數值,但是在Chrome和Safari中的值總是爲0.
  • 如果沒有指明文檔類型,那麼html的scrollLeft屬性總是返回0.
綜合以上的信息,我們可以得出獲取滾動條滾動數值的方法如下:
var scrollLeft =  window.scrollX != undefined ? window.scrollX : window.pageXOffset;
scrollLeft = scrollLeft != undefined ? scrollLeft : (document.documentElement || document.body).scrollLeft;


發佈了57 篇原創文章 · 獲贊 5 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章