スクロール位置で自動表示するモーダルウインドウの作り方
HTML・CSS・JavaScriptを使って、ページを一定位置までスクロールしたときに自動表示されるモーダルウインドウを作る方法を紹介します。このサンプルでは、指定した位置までスクロールするとモーダルが表示され、閉じるボタンや背景クリックで閉じる動作を実装しています。記事下部の案内表示やキャンペーン告知、注意喚起などに利用できます。
コードについて
本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
スクロール位置で自動表示するモーダル
このデモでは、ページを下へスクロールして指定位置を過ぎるとモーダルウインドウが自動表示されます。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<!-- ページタイトル -->
<title>スクロール位置で自動表示するモーダルウインドウ</title>
<!-- CSS読み込み -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- デモエリア -->
<div class="scroll-position-modal-window_wrap">
<div class="scroll-position-modal-window_title">
スクロール位置で自動表示するモーダル
</div>
<p class="scroll-position-modal-window_text">
ページを下へスクロールすると、指定位置でモーダルウインドウが自動表示されます。
</p>
</div>
<!-- スクロール量を確保する余白 -->
<div style="height:3000px;"></div>
<!-- モーダル全体 -->
<div class="scroll-position-modal-window_overlay" data-modal-overlay>
<!-- モーダル本体 -->
<div class="scroll-position-modal-window_modal" role="dialog" aria-modal="true">
<div class="scroll-position-modal-window_modal-title">
スクロール位置で表示
</div>
<p class="scroll-position-modal-window_modal-text">
このモーダルウインドウは、ページを一定位置までスクロールすると自動表示されます。
</p>
<button class="scroll-position-modal-window_close" type="button" data-modal-close>
閉じる
</button>
</div>
</div>
<!-- JavaScript読み込み -->
<script src="script.js"></script>
</body>
</html>
ファイル構成と設置方法
このサンプルは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.html、style.css、script.js を同じフォルダへ配置してください。
sample/
├── index.html
├── style.css
└── script.js
index.html をブラウザで開くと、ページを指定位置までスクロールしたタイミングでモーダルウインドウが自動表示されます。表示位置は script.js 内の window.scrollY > 300 の値を変更することで自由に調整できます。閉じるボタンまたは背景部分をクリックするとモーダルを閉じることができます。
コメント