HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML WindowのpageXOffsetプロパティとは?使い方とサンプルコードを解説

pageXOffsetプロパティとは

HTMLにおけるWindowオブジェクトのpageXOffsetプロパティは、現在のドキュメントが左端から水平方向に何ピクセルスクロールされているかを取得するためのプロパティです。戻り値はピクセル単位の数値で、読み取り専用となっています。

なお、pageXOffsetはwindow.scrollXのエイリアス(別名)であり、どちらを使用しても同じ結果が得られます。垂直方向のスクロール量を取得したい場合は、pageYOffset(またはscrollY)を使用します。

構文

pageXOffsetプロパティの基本的な構文は以下のとおりです。

window.pageXOffset

サンプルコード

ここでは、「Scroll」ボタンでページを横方向にスクロールし、「Show pageXOffset value」ボタンでその時点のpageXOffsetの値を表示するデモを紹介します。

<!DOCTYPE html>
<html>
<style>
   body {
      color: #000;
      height: 100vh;
      background-color: #8BC6EC;
      background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%) no-repeat;
      text-align: center;
   }
   .btn {
      background: #db133a;
      border: none;
      height: 2rem;
      border-radius: 2px;
      width: 40%;
      display: block;
      color: #fff;
      outline: none;
      cursor: pointer;
      margin: 1rem auto;
   }
   .box {
      width: 1000px;
      height: 1000px;
      background: teal;
      color: #fff;
      font-size: 1.5rem;
      text-align: left;
      padding: 20px;
   }
</style>
<body>
<h1>HTML Window pageXOffset Property Demo</h1>
<button onclick="scrollFn()" class="btn">Scroll</button>
<button onclick="display()" class="btn">Show pageXOffset value</button>
<div class="box"></div>
<script>
   function display() {
      document.querySelector('.box').innerHTML = 'The value of pageXOffset is: ' + window.pageXOffset + 'px';
   }
   function scrollFn() {
      window.scrollBy(10, 0);
   }
</script>
</body>
</html>

実行結果

ブラウザでこのコードを実行すると、次のような画面が表示されます。

HTML WindowのpageXOffsetプロパティとは?使い方とサンプルコードを解説

まず、「Show pageXOffset value」ボタンをクリックしてみましょう。初期状態ではスクロールされていないため、pageXOffsetの値は「0px」と表示されます。

HTML WindowのpageXOffsetプロパティとは?使い方とサンプルコードを解説

次に、「Scroll」ボタンをクリックしてページを横方向に10pxずつスクロールします。

HTML WindowのpageXOffsetプロパティとは?使い方とサンプルコードを解説

その後、再度「Show pageXOffset value」ボタンをクリックすると、スクロール後のpageXOffsetの値(例:30pxなど)が表示され、ドキュメントが左端からどれだけスクロールされたかを確認できます。

HTML WindowのpageXOffsetプロパティとは?使い方とサンプルコードを解説

まとめ

pageXOffsetプロパティを使えば、JavaScriptだけで現在の水平スクロール位置を簡単に取得できます。「一定以上スクロールしたら要素を表示する」「ヘッダーの表示を切り替える」といったインタラクティブなUIを実装する際にも活用できるので、ぜひ覚えておきましょう。

  1. HTML DOMのnodeValueプロパティとは?ノード値の取得・設定方法を実例付きで解説

    HTML DOMのnodeValueプロパティは、ノードの値に対応する文字列を取得または設定するために使用されます。DOM操作において、テキストノードや属性ノードの中身を扱う際に非常に便利な基本プロパティです。構文(値の取得)ノードの値を文字列として取得する場合は、以下のように記述します。Node.nodeValue取得される戻り値は、ノードの種類によって以下のように異なります。ドキュメントノードおよび要素ノード:「null」が返される属性ノード:その属性の「value」の値が返されるテキストノードおよびコメントノード:それぞれの内容(テキストやコメント文)が返される構文(値の設定)nodeV

  2. HTML DOM valueプロパティとは?属性値の取得方法とサンプルコードを解説

    HTML DOMのvalueプロパティは、要素が持つ属性(attribute)の値に対応する文字列を返すプロパティです。JavaScriptからHTML要素の属性値を読み取りたい場合に活用できます。基本構文valueプロパティの基本的な書き方は以下の通りです。elementAttribute.value対象となる属性オブジェクトに対して.valueを指定することで、その属性が保持している値を文字列として取得できます。実装例ここでは、画像タグ(<img>)のsrc属性の値をボタンクリック時に取得して画面に表示するサンプルを紹介します。<!DOCTYPE html> <