カテゴリ: JavaScript 更新日: 2026/03/03

JavaScriptでスクロール位置を取得・操作する方法を完全解説!scrollTopなどDOM操作入門

JavaScriptでスクロール位置を取得・操作する方法(scrollTopなど)
JavaScriptでスクロール位置を取得・操作する方法(scrollTopなど)

先生と生徒の会話形式で理解しよう

生徒

「Webページを下に動かしたとき、今どれくらい下まで見ているかをJavaScriptで知ることはできますか?」

先生

「できます。スクロール位置という情報をJavaScriptのDOM操作で取得できます。」

生徒

「スクロール位置って、ページをどれくらい動かしたかという意味ですか?」

先生

「その理解で大丈夫です。今回はscrollTopを中心に、取得と操作の基本をやさしく説明します。」

1. スクロールとは何かを知ろう

1. スクロールとは何かを知ろう
1. スクロールとは何かを知ろう

スクロールとは、画面に入りきらない長いページを上下に動かして見る操作のことです。紙の本を上下にずらしながら読む感覚に近いです。

Webページでは、表示されている部分より下に文章や画像がある場合、マウスや指で画面を動かします。このときの「どれくらい動かしたか」がスクロール位置です。

2. JavaScriptでスクロール位置を扱う理由

2. JavaScriptでスクロール位置を扱う理由
2. JavaScriptでスクロール位置を扱う理由

JavaScriptでスクロール位置を取得できると、ページの動きに合わせた処理ができます。例えば、下まで読んだらボタンを表示する、といった動きです。

これはDOM操作の一つで、画面の状態を調べてプログラムが反応する仕組みです。難しく感じますが、数値を読むだけなので考え方は単純です。

3. scrollTopとは何か

3. scrollTopとは何か
3. scrollTopとは何か

scrollTopは、要素の中で上からどれだけスクロールしたかを数値で表すプロパティです。プロパティとは、あらかじめ用意された情報箱のようなものです。

数値の単位はピクセルで、画面の一番上が0です。下に動かすほど数値は大きくなります。


const area = document.getElementById("area");
console.log(area.scrollTop);

4. 実行結果のイメージ

4. 実行結果のイメージ
4. 実行結果のイメージ

上のコードを実行すると、今表示している位置が数値で表示されます。ページを少し下に動かすと、表示される数値も変わります。


120

この場合、上から120ピクセル分だけ下に動いているという意味です。定規で距離を測っているようなイメージを持つと理解しやすくなります。

5. スクロール位置を動かす方法

5. スクロール位置を動かす方法
5. スクロール位置を動かす方法

scrollTopは、値を読み取るだけでなく、数値を入れることでスクロール位置を動かすこともできます。

例えば、ボタンを押したら一番上に戻す、といった操作が可能です。


area.scrollTop = 0;

これにより、表示位置が一番上に戻ります。ページを強制的に動かしていると考えると分かりやすいです。

6. ページ全体のスクロール位置

6. ページ全体のスクロール位置
6. ページ全体のスクロール位置

画面全体のスクロール位置を知りたい場合は、document.documentElement.scrollTopを使います。これはページ全体の現在位置を表します。

少し長い名前ですが、「ページ全体を表す場所」と覚えておくと問題ありません。

7. 初心者が注意したいポイント

7. 初心者が注意したいポイント
7. 初心者が注意したいポイント

スクロール位置は、要素によって取得方法が変わります。間違った場所から取得すると、常に0になることがあります。

また、スクロールできない要素では数値が変わらない点にも注意が必要です。まずは「どこをスクロールしているのか」を意識することが大切です。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptで非同期処理の失敗をリトライ(再試行)する方法を初心者向けに徹底解説!
New2
JavaScript
JavaScriptのデータ型の自動変換に注意しよう!型変換の罠まとめ
New3
JavaScript
JavaScriptのNumber関数で文字列を数値に変換する方法をやさしく解説!初心者でもわかる型変換の基本
New4
JavaScript
JavaScriptでセレクトボックスの値を取得設定する方法|初心者向けフォーム操作完全解説
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptでasync/awaitを共通化!再利用可能な非同期ユーティリティ設計ガイド
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptでフォームの値を設定する方法を徹底解説|初心者向けフォーム操作入門
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptのonclick・onchangeなどの基本イベントを理解しよう
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptで要素の高さ・幅を取得する方法を完全解説!offsetHeightなどDOM操作入門