JavaScript

【JavaScript】scrollイベントとは?ページがスクロールされた時に処理を行う

後輩ちゃん
後輩ちゃん
先輩!今日は何を教えてくれるんですか?
先輩くん
先輩くん
今日は、JavaScriptのscrollイベントの使い方について教えるよ!
後輩ちゃん
後輩ちゃん
よろしくお願いします!

scrollイベントとは、ページがスクロールされたタイミングで発火するイベントです。

JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

本書情報
出版社技術評論社
著者山田 祥寛
発売日2023/2/13
ページ数624ページ
レビュー
(Amazon)
(4件)
先輩くん
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!

綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック

本書情報
出版社オライリージャパン
著者Dustin Boswell / Trevor Foucher
発売日2012/6/23
ページ数260ページ
レビュー
(Amazon)
(620件)
先輩くん
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!

scrollイベントの使い方

先輩くん
先輩くん
scrollイベントは、addEventListenerメソッドにscrollを指定する方法とonscrollプロパティを使う2種類あります!
後輩ちゃん
後輩ちゃん
使い方をそれぞれ別々に解説してるよ!

addEventListenerメソッドを使ったscrollイベントの書き方

addEventListenerメソッドを使ってscrollイベントを登録する時の書き方は以下の通りです。
window.addEventListener('scroll',function(){
  // スクロールイベントの処理を記述
});

windowオブジェクトに対してaddEventListenerメソッドを使います。第一引数に「scroll」を指定し、第二引数に指定した関数内にページがスクロールされた時に実行したい処理を記述します。

先輩くん
先輩くん
scrollを使ったサンプルコードは以下の通りです。


上記サンプルでは、ページがスクロールされると表示されているスクロール量の値が変化します。試しにサンプルのページをスクロールしてみると値が変化していることが確認できます。

onscrollプロパティの書き方

onscrollプロパティを使ってscrollイベントを登録する時の書き方は以下の通りです。
window.onscroll = function(){
  // スクロールイベントの処理を記述
};

addEventListenerメソッドと同様にwindowオブジェクトに対して、onscrollプロパティを使い関数を代入します。代入した関数にページがスクロールされたタイミングで実行したい処理を記述します。

先輩くん
先輩くん
onscrollプロパティを使ったサンプルコードは以下の通りです。


上記サンプルの処理は、addEventListenerメソッドを使ったものと同様で、ページがスクロールされると表示されているスクロール量の値が変化していきます。

addEventListenerメソッドのscrollイベントとonscrollプロパティの違い

後輩ちゃん
後輩ちゃん
scrollイベントの2種類の書き方について理解できたのですが、2つの違いはあるんですか?
先輩くん
先輩くん
大きな違いとしてイベントを複数登録できるか、できないかの違いがあるよ!
これについては別記事で詳しく解説しているから興味のある方は下記のURLを参考にしてね!

まとめ

今回はJavaScriptのscrollイベントの使い方について解説しました。
最後にポイントを軽くおさらいしましょう。

ポイント

  • scrollイベントとは、ページスクロールされたタイミングで発火するイベント
  • addEventListenerメソッドで登録するscrollイベントとonscrollプロパティを使ったイベント登録の違いは複数のイベントを登録できるか、できないか

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村