window屬性:scrollX

2018-07-07 13:50 更新

scrollX屬性

Window接口的只讀scrollX屬性可以返回文檔當(dāng)前水平滾動的像素數(shù)。這個值在現(xiàn)代瀏覽器中是亞像素精確的,這意味著它不一定是整數(shù)。您可以從scrollY屬性中獲取文檔垂直滾動的像素數(shù)。

scrollX屬性語法

var x = window.scrollX;

scrollX屬性值

實際上,scrollX屬性返回值是一個雙精度浮點值,表示文檔當(dāng)前從原點水平滾動的像素數(shù),其中正值表示內(nèi)容向左滾動。如果文檔在子像素精確設(shè)備上呈現(xiàn),則返回的值也是亞像素精確的并且可以包含小數(shù)部分。如果文檔未向左或向右滾動,則scrollX為0。

如果需要整數(shù)值,可以使用Math.round()來四舍五入。

在更多技術(shù)術(shù)語中,scrollX返回當(dāng)前視口左邊緣的X坐標(biāo)。如果沒有視口,則返回值為0。

scrollX屬性示例

此示例檢查文檔的當(dāng)前水平滾動位置。如果它大于400像素,則窗口將滾動回到開頭。

if (window.scrollX > 400) {
  window.scroll(0,0);
}

筆記

該pageXOffset屬性是該scrollX屬性的別名:

window.pageXOffset == window.scrollX; // always true

對于跨瀏覽器兼容性,請使用window.pageXOffset而不是window.scrollX。此外,舊版本的Internet Explorer(<9)不支持任何屬性,必須通過檢查其他非標(biāo)準(zhǔn)屬性來解決。一個完全兼容的例子:

var x = (window.pageXOffset !== undefined)
  ? window.pageXOffset
  : (document.documentElement || document.body.parentNode || document.body).scrollLeft;

var y = (window.pageYOffset !== undefined)
  ? window.pageYOffset
  : (document.documentElement || document.body.parentNode || document.body).scrollTop;

規(guī)范

規(guī)范 狀態(tài) 注釋
CSS對象模型(CSSOM)視圖模塊
該規(guī)范中“window.scrollX”的定義。
Working Draft
 

瀏覽器兼容性

電腦端 移動端
Chrome
Edge
Firefox
Internet Explorer
Opera
Safari
Android webview Chrome for Android
Edge Mobile Firefox for Android
Opera for Android
iOS Safari
基本支持 支持 支持 支持 支持 支持 支持 支持 支持 支持 支持 ? ?
子像素精度 支持 支持 支持:55 支持 支持 支持 支持 支持 支持 支持:55 ?
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號