初回アクセス時のみ表示するモーダルウインドウの作り方
初回アクセス時のみ表示するモーダルウインドウの作り方を紹介します。サイトへ初めて訪れたユーザーに、お知らせやキャンペーン情報、利用規約への案内などを表示したい場合に便利なサンプルです。本記事では、HTML・CSS・JavaScriptだけを使い、初回アクセス時だけモーダルウインドウを自動表示し、2回目以降は表示しない方法を実装します。
サンプルコードでは、ページを開くと初回アクセス時のみモーダルウインドウが自動で表示されます。一度モーダルを閉じるとブラウザへ状態を保存するため、同じブラウザで再度ページを開いてもモーダルは表示されません。ページを更新しても繰り返し表示されないため、ユーザーの操作を妨げにくい実装になっています。
お知らせや重要な案内、クーポンの配布、会員サイトやECサイトでの初回案内など、初めてアクセスしたユーザーだけへ情報を表示したい場面で活用できます。モーダル内のタイトルや本文はHTML、デザインはCSS、表示条件はJavaScriptで変更できるため、実際のWebサイトへ導入しやすくカスタマイズもしやすい構成です。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
初回アクセス時のみモーダルウインドウが自動表示されます。
モーダルを閉じると表示済みとして保存されます。何度も確認したい場合は「保存を削除してもう一度確認する」をクリックしてください。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コード -->
<meta charset="UTF-8">
<!-- スマートフォン表示対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>初回アクセス時のみ表示するモーダルウインドウ</title>
<!-- CSSファイルを読み込み -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- ページ全体 -->
<div class="modal-window-first-visit_wrap">
<!-- タイトル -->
<h1 class="modal-window-first-visit_title">
初回アクセス時のみ表示するモーダルウインドウ
</h1>
<!-- 説明文 -->
<p class="modal-window-first-visit_text">
初回アクセス時だけモーダルウインドウを自動表示します。
</p>
</div>
<!-- モーダル背景 -->
<div
class="modal-window-first-visit_overlay"
data-modal-overlay>
<!-- モーダル本体 -->
<div
class="modal-window-first-visit_modal"
role="dialog"
aria-modal="true"
aria-labelledby="modal-title">
<!-- モーダルタイトル -->
<h2
id="modal-title"
class="modal-window-first-visit_modal-title">
ようこそ!
</h2>
<!-- モーダル本文 -->
<p class="modal-window-first-visit_modal-text">
このモーダルは初回アクセス時のみ表示されます。
</p>
<!-- 閉じるボタン -->
<button
class="modal-window-first-visit_close"
type="button"
data-modal-close>
閉じる
</button>
</div>
</div>
<!-- JavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
ファイル構成と設置方法
このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。 HTMLでモーダルウインドウの画面構成を作成し、CSSでレイアウトやデザインを設定、JavaScriptで初回アクセス時のみモーダルを表示する処理を実装しています。 表示済みかどうかはブラウザのLocalStorageへ保存するため、一度モーダルを閉じるとページを更新しても再表示されず、初めてアクセスしたユーザーだけへ案内を表示したい場合に利用できます。
sample/
├── index.html
├── style.css
└── script.js
各ファイルの役割
・index.html:モーダル本体・タイトル・説明文・閉じるボタンなど、画面に表示するHTMLを記述します。
・style.css:画面レイアウト・背景色・文字サイズ・余白・角丸・ボタン・モーダルサイズ・背景オーバーレイなど、見た目全体を設定します。
・script.js:初回アクセスかどうかを判定し、モーダルの表示・非表示や表示済み情報をLocalStorageへ保存する処理を実装します。
設置方法・使い方
① sampleフォルダを作成します。
② index.html・style.css・script.jsの3ファイルを配置します。
③ index.htmlをブラウザで開きます。
④ 初回アクセス時のみモーダルウインドウが自動表示されます。
⑤ 「閉じる」ボタンをクリックすると表示済みとして保存され、次回以降はモーダルは表示されません。
カスタマイズできる内容
・index.htmlでは、モーダルタイトル・説明文・ボタンの文字を自由に変更できます。
・style.cssでは、モーダルの色・幅・高さ・余白・角丸・背景色・影などのデザインを変更できます。
・script.jsでは、LocalStorageへ保存するキー名を変更したり、表示条件を独自の条件へ変更できます。
・style.cssの「max-width:420px;」を変更するとモーダルの横幅を調整できます。
・style.cssの「background:rgba(15,23,42,.55);」の「.55」を変更すると背景の暗さを調整できます。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssで「width:100%;」「max-width:420px;」「padding:20px;」を設定しているため、画面サイズに応じてモーダルの幅や余白が自動的に調整されます。また、640px以下ではデモ全体の余白を調整し、スマートフォン・タブレット・PCでもレイアウトが崩れにくい構成になっています。
コメント