本記事では、以下のようなモーダルウィンドウを使った「お知らせ表示」の実装方法を、HTML / CSS / JavaScriptのコード付きで紹介します。
- お知らせ 1
- お知らせ 2
- お知らせ 3
目次
HTML / CSS / JavaScript コード
<ul class="notice-list">
<li class="notice-item" data-id="1">お知らせ 1</li>
<li class="notice-item" data-id="2">お知らせ 2</li>
<li class="notice-item" data-id="3">お知らせ 3</li>
</ul>
<!-- モーダルウィンドウ -->
<div id="modal" class="modal">
<div class="modal-content">
<p id="modal-text"></p>
<span class="close-btn">閉じる</span>
</div>
</div>
実装のポイント
本実装では、以下2つのUIをを組み合わせた実装になっています。
- 操作中の画面上に重ねてウィンドウが表示される「モーダルウィンドウ」と呼ばれるUI
- 選択したお知らせによって表示内容が変わる「タブメニュー」のようなUI
モーダルウィンドウの作り方
操作中の画面上に重ねて表示される、ダイアログやポップアップウィンドウの一種。ページ遷移なしに追加情報を確認できるのがポイントです。
通常、モーダルウィンドウが表示されると、背景の画面が暗くなって操作が一時的にロックされ、ユーザーはモーダルウィンドウ内の操作に集中できるようになっています。本実装では、
- 画面全体を暗転させるマスク
- 画面中央に配置するウィンドウ
の2つをposition
プロパティを使って配置し、クリック操作で表示・非表示を切り替えています。詳細については、以下記事をご覧ください。
【JS&CSS】モーダルウィンドウの作り方
ボタンクリックで、画面中央にフワッと別ウィンドウを表示させる方法(モーダルウィンドウの作り方)について、HTML / CSS / JavaScriptコードを公開します。 モーダル…
タブの作り方
クリックしたタブによって表示する内容を変更する(要素同士を連携させる)には、カスタムデータ属性を使う方法があります。
カスタムデータ属性とは
idやclassなどと同じhtmlの属性で、自分オリジナルの名前をつけられるという特徴があります。
<div data-◯◯="□□"></div>
のように使います。
詳細については以下記事をご覧ください。
【JS&CSS】クリックやホバーで表示を切り替える(タブメニュー)
タイトルなどの見出し(タブ)をクリック または マウスホバーすると、それに応じた内容を表示させる『タブメニュー』の実装方法(HTML/CSS/JavaScriptコード)を、実装…
当サイトで公開しているWebデザインやUIの実装例は、一覧として以下記事に纏めています。
Webデザイン・UIコンポーネント集(HTML/CSS/JS)
Webサイトやアプリで使われている『Webデザイン』や『UI』の実装例を纏めました。(随時更新中)実装方法などは別記事にコードや実装ポイントを公開していますので、自…