INDEX
目次
2章:基本的なUI実装
この章では、jQueryを使った基本的なUIの実装方法を学びます。
具体的には、
===
を作成し、それぞれのHTML、CSS、jQueryでの実装方法を解説します。
具体的には、
===
- トグルメニュー(クリックで開閉するメニュー)
- タブ切り替え(複数のコンテンツをタブで管理)
- アラートボックス(ボタンを押すと表示されるメッセージ)
を作成し、それぞれのHTML、CSS、jQueryでの実装方法を解説します。
【2-1】トグルメニューの実装
トグルメニューとは、クリックで開閉するメニューのことを指します。
今回は、メニューボタンをクリックした際に、ホーム・サービス・お問い合わせのメニューが開閉する動きを実装します。
今回は、メニューボタンをクリックした際に、ホーム・サービス・お問い合わせのメニューが開閉する動きを実装します。
HTML/CSS構造
ナビゲーションメニューのHTMLを作成する
<nav> <button id="toggle-btn">メニュー</button> <ul id="menu" class="hidden"> <li><a href="#">ホーム</a></li> <li><a href="#">サービス</a></li> <li><a href="#">お問い合わせ</a></li> </ul> </nav>
サンプルコード
- メニューボタン ( button ) とメニューリスト ( ul ) を定義。
- 初期状態では、メニューリストに class="hidden" を適用して非表示にする。
CSSを使用して、メニューのスタイルを整える
.hidden { display: none; } nav { background: #333; padding: 10px; } nav ul { list-style: none; padding: 0; } nav li { padding: 10px; background: #444; margin: 5px 0; } nav a { color: white; text-decoration: none; }
サンプルコード
- .hidden はデフォルトで非表示(display: none;)に
jQueryの実装
jQueryを使用してクリック時にメニューを開閉する機能を実装する
#該当コードのみ記載 $(document).ready(function() { $("#toggle-btn").click(function() { $("#menu").toggle(); }); });
サンプルコード
コード | 各コードの機能 |
---|---|
$(document).ready(function() {...}) |
ページの読み込みが完了したら、スクリプトを実行 |
$("#toggle-btn").click(function() {...}) |
ボタンがクリックされたときに処理を実行 |
$("#menu").toggle(); |
メニューの表示/非表示を切り替える |
【2-2】タブ切り替えの実装
タブ切り替えとは、複数コンテンツをタブで管理することを指します。
今回は、タブをクリックした際に、各タブに対応したコンテンツを表示する動きを実装します。
今回は、タブをクリックした際に、各タブに対応したコンテンツを表示する動きを実装します。
HTML/CSS構造
タブとコンテンツのHTMLを作成する
<div class="tabs"> <ul> <li class="tab active" data-tab="1">タブ1</li> <li class="tab" data-tab="2">タブ2</li> <li class="tab" data-tab="3">タブ3</li> </ul> <div class="content active" id="tab-1">コンテンツ1</div> <div class="content" id="tab-2">コンテンツ2</div> <div class="content" id="tab-3">コンテンツ3</div> </div>
サンプルコード
<ul>
の中にタブ(<li class="tab">
)を配置します。data-tab
属性を使い、各タブに一意の識別子を割り当てます。<div class="content">
によって、各タブに対応するコンテンツを配置します。- 最初に表示するタブには
class="active"
を付与しておきます。
CSSを使用して、タブのデザインを整える
.tabs ul { display: flex; list-style: none; } .tab { padding: 10px; cursor: pointer; background: lightgray; } .tab.active { background: gray; color: white; } .content { display: none; padding: 10px; border: 1px solid #ddd; } .content.active { display: block; }
サンプルコード
.content
はデフォルトで非表示(display: none;
)に。.content.active
で、選択されたタブに対応するコンテンツを表示。
jQueryの実装
#該当コードのみ記載 $(document).ready(function() { $(".tab").click(function() { let tabId = $(this).data("tab"); $(".tab").removeClass("active"); $(this).addClass("active"); $(".content").removeClass("active"); $("#tab-" + tabId).addClass("active"); }); });
サンプルコード
コード | 各コードの機能 |
---|---|
$(document).ready(function() {...}) |
ページの読み込みが完了したら、スクリプトを実行 |
$(".tab").click(function() {...}) |
.tab クラスを持つタブがクリックされたときの処理を指定 |
let tabId = $(this).data("tab"); |
クリックされたタブの data-tab の値を取得 |
$(".tab").removeClass("active"); |
すべてのタブから active クラスを削除 |
$(this).addClass("active"); |
クリックしたタブに active クラスを追加 |
$(".content").removeClass("active"); |
すべてのコンテンツから active クラスを削除 |
$("#tab-" + tabId).addClass("active"); |
対応するコンテンツに active クラスを追加し、表示 |
【2-3】アラートボックスの実装
アラートボックスとは、ボタンを押すと表示される注意メッセージのことを指します。
今回は、アラートボタンをクリックした際に、アラートメッセージを表示する動きを実装します。
今回は、アラートボタンをクリックした際に、アラートメッセージを表示する動きを実装します。
HTML/CSS構造
アラートボタンと表示のHTMLを作成する
<button id="show-alert">アラートを表示</button> <div id="alert-box" class="alert hidden">これはカスタムアラートです!</div>
サンプルコード
<button>
を作成し、アラートを表示するトリガーとする。<div>
をアラートボックスとして作成し、最初はclass="hidden"
により非表示にしておく。
CSSでアラートボックスのデザインを設定
.alert { background: red; color: white; padding: 10px; margin-top: 10px; display: none; }
サンプルコード
.alert
クラスで、背景を赤・文字を白に設定し、ユーザーに強調して伝わるデザインに。display: none;
で初期状態は非表示に設定。padding: 10px;
で余白をつけて読みやすく。margin-top: 10px;
で他要素との間にスペースを確保。
jQueryの実装
#該当コードのみ記載 $(document).ready(function() { $("#show-alert").click(function() { $("#alert-box").fadeIn().delay(2000).fadeOut(); }); })
サンプルコード
コード | 各コードの機能 |
---|---|
$(document).ready(function() {...}) |
ページが完全に読み込まれた後に実行 |
$("#show-alert").click(function() {...}) |
ボタンがクリックされたときの処理を定義 |
$("#alert-box").fadeIn() |
.fadeIn() を使用し、アラートボックスをフェードイン(徐々に表示) |
.delay(2000) |
2000ミリ秒(2秒)間アラートを表示したままにする |
.fadeOut() |
フェードアウトしてアラートを消す |
【2-4】演習課題
演習課題01:タブ切り替え時のアラート表示
途中で躓いたら、教材を振り返りながら進めてみましょう。
解き終わったら、
解き終わったら、
01_end
フォルダ内の解答例と見比べて、自分の実装を確認してみましょう。演習課題02:トグルメニューの拡張
途中で躓いたら、教材を振り返りながら進めてみましょう。
解き終わったら、
解き終わったら、
02_end
フォルダ内の解答例と見比べて、自分の実装を確認してみましょう。この章では、jQueryを用いた基本的なUIの実装方法を学びました。
次の章では、より実践的なメニュー系UI実装に進みます!
次の章では、より実践的なメニュー系UI実装に進みます!