【jQueryのスクロールイベント】Webページのスクロール位置を取得するプログラム
jQueryには画面をスクロールするとイベントが発生する「スクロールイベント」という要素があります。最近はWebサイトで使われていることが多く、画面をスクロールすると、「トップに戻る」ボタンや画像が表示されるのもスクロールイベントの例です。ここでは、今流行のスクロールイベントについて実際の使用例も交えながら解説していきます。参考にしていただければ幸いです。
- システム
エンジニア - スクロールイベントは色々なサイトで使われているけど、どうやって実装しているのか疑問だったんですよね。
- プロジェクト
マネージャー - 難しそうなイメージがありますが、jQueryを使えばたった数行で実装できますよ。
jQueryのスクロールイベントとは?
冒頭でも少し申し上げましたが、スクロールイベントとは、画面をスクロールしたときに呼ばれる動作です。これだけでは内容が分かりにくいため、例を挙げたいと思います。
訪問者がWebサイト上部にいるときは何も表示しないが、画面をスクロールしてWebサイトの中部まで来たら見出しの文字や画像を表示したいとき。
このような状況、何となくイメージできたでしょうか。
あらかじめ「見出しの文字や画像を表示する」という動作を作成しておき、「Webサイトの中部まで来たらこの動作を呼び出す」という処理を書けば、簡単に実装することができるのです。
スクロールイベントのjQuery使用例
スクロールイベントについて何となく理解できたところで、実際の使用例を見ていきましょう。下記は、一番基本的な「scrollTop」を使ったスクロール位置を確認するプログラムです。
プログラムの下には実行結果が表示されています。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<p>位置:<span id="position">0px</span></p>
<div id="box">
<div id="contents">スクロールしてください</div>
</div>
</body>
<!--CSS-->
<style>
#box {
overflow: scroll;
height: 200px;
border: 3px solid gray;
}
#contents {
height: 500px;
}
</style>
<!--jQuery-->
<script>
$('#box').scroll(function() {
$('#position').text($(this).scrollTop() + 'px');
});
</script>
</html>
|
位置:0px
スクロールすればするほど、HTMLで用意した「position」の値が変わる仕様になっています。上記は単に現在のスクロール位置を取得するプログラムですが、これを応用すれば「スクロール位置が〇pxのときに指定の文字や画像を表示する」ということも可能です。
- システム
エンジニア - スクロールイベントってとても便利な機能ですね!他にはどんなことができるんですか?
- プロジェクト
マネージャー - 紹介したコードを応用すれば、「トップに戻る」ボタンなどを用意して、ボタン押下時に指定のスクロール位置まで戻ることもできますよ。試してみてくださいね。
スクロールイベントはWebサイトにメリハリをつける便利な要素
スクロールイベントを用いるとWebサイトにメリハリが出ます。見ている方も楽しいスクロールイベントですが、使いすぎるとサイトが重くなってサクサクと動作しなくなるため、適度に活用しWebサイトを充実させてみてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)