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

HTML WindowのpageYOffsetプロパティとは?使い方とコード例をわかりやすく解説

pageYOffsetプロパティとは

HTML WindowオブジェクトのpageYOffsetプロパティは、現在のドキュメントが垂直方向(上端)からどれだけスクロールされているかを、ピクセル単位の数値として返します。

ページのスクロール位置を取得したい場合に便利なプロパティで、読み取り専用のため値の設定はできません。水平方向のスクロール量を取得したい場合は、同様にpageXOffsetプロパティを使用します。

構文

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

window.pageYOffset

サンプルコード

ここでは、「Scroll」ボタンでページを10pxずつスクロールし、「Show pageYOffset value」ボタンで現在のpageYOffsetの値を画面に表示するデモを紹介します。

<!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 pageYOffset Property Demo</h1>
<button onclick="scrollFn()" class="btn">Scroll</button>
<button onclick="display()" class="btn">Show pageYOffset value</button>
<div class="box"></div>
<script>
   function display() {
      document.querySelector('.box').innerHTML = 'The value of pageYOffset is: ' + window.pageYOffset + 'px';
   }
   function scrollFn() {
      window.scrollBy(0, 10);
   }
</script>
</body>
</html>

実行結果と動作の確認手順

上記のコードを実行すると、次のような画面が表示されます。

HTML WindowのpageYOffsetプロパティとは?使い方とコード例をわかりやすく解説

まず、「Show pageYOffset value」ボタンをクリックすると、現在のpageYOffsetプロパティの値が表示されます。初期状態ではスクロールされていないため、「0px」と表示されます。

HTML WindowのpageYOffsetプロパティとは?使い方とコード例をわかりやすく解説

次に、「Scroll」ボタンをクリックしてページをスクロールします。

HTML WindowのpageYOffsetプロパティとは?使い方とコード例をわかりやすく解説

その後、もう一度「Show pageYOffset value」ボタンをクリックすると、スクロール後のpageYOffsetの値が更新されて表示されます。

HTML WindowのpageYOffsetプロパティとは?使い方とコード例をわかりやすく解説

まとめ

window.pageYOffsetを使うことで、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> <