このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Window: scrollX プロパティ

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

* Some parts of this feature may have varying levels of support.

scrollXWindow インターフェイスの読み取り専用プロパティで、文書が現在水平方向にスクロールしているピクセル数を返します。最近のブラウザーでは、この値はサブピクセル精度ですので、必ずしも整数であるとは限りません。文書が垂直方向にスクロールしているピクセル数は scrollY プロパティで取得できます。

倍精度浮動小数点値で、文書が現在原点から水平方向にスクロールされているピクセル数を示します。正の値はコンテンツが右方向にスクロールされていることを意味します(右側にさらにコンテンツを表示するため)。より技術的に言えば、scrollX は現在のビューポートの左端の X 座標を返します。文書が左右どちらにもスクロールされていない場合、scrollX は 0 です。ビューポートが存在しない場合、返される値は 0 です。文書がサブピクセル精度の端末でレンダリングされている場合、返される値もサブピクセル精度となり、小数点以下の成分を含むことがあります。

メモ: 整数値が必要である場合は、Math.round() を使用して四捨五入してください。

文書が最初のコンテナーブロックから左方向にスクロール可能な場合、scrollX が負の値になる可能性があります。例えば、文書が右から左方向で、コンテンツが左方向に拡大する場合などが該当します。

Safari はオーバースクロールに対して、最大スクロール位置を超えて scrollX を更新することで応答します(デフォルトの「バウンス」効果が無効化されていない限り。例えば overscroll-behaviornone に設定した場合など)。一方、Chrome と Firefox はそうなりません。

このプロパティは読み取り専用です。ウィンドウを特定の位置にスクロールするには、Window.scroll() を使用してください。

これは、文書の現在の水平スクロール位置を確認する例です。400 ピクセルより大きい場合は、文書の左上にスクロール位置をリセットします。

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

メモ

pageXOffset プロパティは scrollX プロパティの別名です。つまり、いずれのプロパティも再割り当てしていない場合、window.pageXOffset === window.scrollX は常に真となります。

仕様書

Specification
CSSOM View Module
# dom-window-scrollx

ブラウザーの互換性

関連情報