window屬性:scrollX

2018-07-07 13:50 更新

scrollX屬性

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

scrollX屬性語(yǔ)法

var x = window.scrollX;

scrollX屬性值

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

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

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

scrollX屬性示例

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

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

筆記

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

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

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

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對(duì)象模型(CSSOM)視圖模塊
該規(guī)范中“window.scrollX”的定義。
Working Draft
 

瀏覽器兼容性

電腦端 移動(dòng)端
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)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)