INDEX
目次
2章:基本的なUI実装
この教材の学習時間:70分
この章では、jQueryを使った基本的なUIの実装方法を学びます。
具体的には、
===
を作成し、それぞれのHTML、CSS、jQueryでの実装方法を解説します。
具体的には、
===
- トグルメニュー(クリックで開閉するメニュー)
- タブ切り替え(複数のコンテンツをタブで管理)
- アラートボックス(ボタンを押すと表示されるメッセージ)
を作成し、それぞれのHTML、CSS、jQueryでの実装方法を解説します。
【2-1】トグルメニューの実装
目安の学習時間:15分
トグルメニューとは、クリックで開閉するメニューのことを指します。
今回は、メニューボタンをクリックした際に、ホーム・サービス・お問い合わせのメニューが開閉する動きを実装します。
今回は、メニューボタンをクリックした際に、ホーム・サービス・お問い合わせのメニューが開閉する動きを実装します。
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】タブ切り替えの実装
目安の学習時間:20分
タブ切り替えとは、複数コンテンツをタブで管理することを指します。
今回は、タブをクリックした際に、各タブに対応したコンテンツを表示する動きを実装します。
今回は、タブをクリックした際に、各タブに対応したコンテンツを表示する動きを実装します。
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】アラートボックスの実装
目安の学習時間:10分
アラートボックスとは、ボタンを押すと表示される注意メッセージのことを指します。
今回は、アラートボタンをクリックした際に、アラートメッセージを表示する動きを実装します。
今回は、アラートボタンをクリックした際に、アラートメッセージを表示する動きを実装します。
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】演習課題
目安の学習時間:25分
演習課題01:タブ切り替え時のアラート表示
途中で躓いたら、教材を振り返りながら進めてみましょう。
解き終わったら、
解き終わったら、
01_endフォルダ内の解答例と見比べて、自分の実装を確認してみましょう。演習課題02:トグルメニューの拡張
途中で躓いたら、教材を振り返りながら進めてみましょう。
解き終わったら、
解き終わったら、
02_endフォルダ内の解答例と見比べて、自分の実装を確認してみましょう。この章では、jQueryを用いた基本的なUIの実装方法を学びました。
次の章では、より実践的なメニュー系UI実装に進みます!
次の章では、より実践的なメニュー系UI実装に進みます!


