現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

ウィンドウ

【JavaScript入門】pageXOffset・pageYOffsetとは?現在のスクロール位置を取得・設定する方法を解説

投稿日:2019年5月16日 更新日:

JavaScriptのpageXOffset・pageYOffsetとは?現在のスクロール位置を取得・設定する方法を解説

pageXOffsetpageYOffset は、ページがどれだけスクロールされているかを取得・設定するためのプロパティです。
横方向(X軸)・縦方向(Y軸)のスクロール量をピクセル単位で参照できます。



pageXOffset・pageYOffsetとは?

これらのプロパティは、ウィンドウの左上からのスクロール量を表します。

  • pageXOffset:横方向のスクロール量(px)
  • pageYOffset:縦方向のスクロール量(px)

ページがどれだけスクロールされているかを調べたいときに便利です。

let x = window.pageXOffset;
let y = window.pageYOffset;

→ 現在のスクロール位置を取得できます。



使用例:スクロール位置を設定する

スクロール量を直接設定することもできます。

newWin.pageXOffset = 250;

→ ウィンドウ newWin の横方向のスクロール位置を 250px に設定します。

使用例:スクロール位置を取得する

let yo = newWin.pageYOffset;

→ ウィンドウ newWin の縦方向のスクロール量が変数 yo に代入されます。

scrollTo / scrollBy との違い

  • pageXOffset / pageYOffset:現在のスクロール量を「取得」する用途が中心
  • scrollTo():指定位置へスクロール
  • scrollBy():現在位置から相対的にスクロール

スクロール位置を調べたいときは pageXOffset / pageYOffset、
スクロールさせたいときは scrollTo / scrollBy を使うのが一般的です。



注意点

  • 値はピクセル単位で取得される
  • スクロールされていない場合は 0 が返る
  • モダンブラウザでは window.scrollX / window.scrollY と同じ意味

まとめ

  • pageXOffset:横方向のスクロール量
  • pageYOffset:縦方向のスクロール量
  • 現在のスクロール位置を調べるのに便利
  • スクロール操作には scrollTo / scrollBy を併用すると効果的

関連リンク

-ウィンドウ
-

執筆者:

関連記事

【JavaScript入門】window.resizeTo・resizeByの使い方|ウィンドウサイズを絶対・相対で変更する方法を解説

JavaScriptのwindow.resizeTo・resizeByとは?ウィンドウサイズを変更する方法を初心者向けに解説 window.resizeTo() と window.resizeBy() …

【JavaScript入門】window.closeの使い方|ウィンドウを閉じる方法と注意点を初心者向けに解説

JavaScriptのwindow.closeとは?ウィンドウを閉じる方法と注意点を初心者向けに解説 window.close() は、指定したウィンドウ、または自分自身のウィンドウを閉じるためのメソ …

【JavaScript入門】window.openの使い方|新しいウィンドウやタブを開く方法とオプション設定を解説

JavaScriptのwindow.openとは?新しいウィンドウ(タブ)を開く方法とオプション設定を解説 window.open() は、新しいウィンドウ(またはタブ)を開くためのメソッドです。 表 …

【JavaScript入門】status・defaultStatusとは?ステータスバーの文字列を設定する方法と注意点を解説

JavaScriptのstatus・defaultStatusとは?ステータスバーの文字列を参照・設定する方法を解説 window.status と window.defaultStatus は、ブラ …

【JavaScript入門】window.scrollToの使い方|指定位置へスクロールする方法を初心者向けに解説

JavaScriptのwindow.scrollToとは?指定位置へスクロールする方法を初心者向けに解説 window.scrollTo() は、ページを指定した座標位置までスクロールさせるためのメソ …