home
twitter
ページトップへ
目次
  • 「タブメニュー」とは何か?
  • 「タブメニュー」の作り方!
  • コード!
  • まとめ!
about
categories
page
archive
皇帝ペンギンブログ

2024/12/20 (更新日:2024/12/20)

【JavaScript】ライブラリを使わない「タブメニュー」の作り方!【シンプル】

Categories > JavaScriptの入門編
こんばんは!初めましての方は初めまして!
しゅーた(@chibasyuta)です!

この記事ではシンプルな「タブメニュー」の作り方を解説します!Webサイト制作で頻出なデザインなので、サクッと作れるようにしておくといいでしょう!

作り方はたくさんありますが、今回はできるだけ「シンプル」かつ「実践的」にします。細かいところは各自で機能を追加したりデザインを変えたりしてみてください。かなり有益なはずです。

「jQuery」などのライブラリは使わず、ただの「JavaScript」で作っていきます!バニラJSとも呼ばれるやつです。

この記事の内容!

  • タブメニューとは何か?
  • タブメニューの作り方!
また、下の動画でも「タブメニュー」の作り方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは、内容へ入ります!

目次
非表示
  • 「タブメニュー」とは何か?
  • 「タブメニュー」の作り方!
  • コード!
  • まとめ!

「タブメニュー」とは何か?

https://chibasyuta.org/wp-content/uploads/2024/12/what-tab-menu_new.mp4
このような「タブ」と呼ばれるボタンを押すと、表示内容が切り替わるようなメニューのことを指します!
よく見るやつだね!

「タブメニュー」の作り方!

それでは「タブメニュー」の作り方!をまとめますね。
わーい!

コード!

<div class="container">
    <div class="tabs">
        <button class="active" data-tab="skill">スキル</button>
        <button data-tab="career">経歴</button>
        <button data-tab="achievement">実績</button>
    </div>
    <div class="tab-content active" id="skill">スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル スキル  </div>
    <div class="tab-content" id="career">経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 経歴 </div>
    <div class="tab-content" id="achievement">実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 実績 </div>
</div>
@charset "utf-8";

html {
    font-size: 16px;
}
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.container {
    width: 700px;
    margin: 130px auto;
}
button {
    all: unset;
    color: black;
    padding: 8px;
    font-size: 50px;
    border-radius: 4px 4px 0 0;
}
button.active {
    color: white;
    background-color: black;
}
.tab-content {
    font-size: 30px;
    background-color: black;
    color: white;
    padding: 8px;
    display: none;
}
.tab-content.active {
    display: block;
}
let tabs = document.querySelectorAll('button');
let contents = document.querySelectorAll('.tab-content');

tabs.forEach( (tab) => {
    tab.addEventListener('click', () => {
        tabs.forEach( (tab) => { 
            tab.classList.remove('active');
        } );
        tab.classList.add('active');
        
        contents.forEach( (content) => { 
            content.classList.remove('active'); 
        } );
        let target = document.getElementById(tab.dataset.tab);
        target.classList.add('active');
    });
} );

こんな感じで基本的な機能は実装できると思います!

とてもシンプルなタブメニューになりますが、ここからデザインを変更してリッチにしたり、自分好みに変更を加えてみてください!

まとめ!

「タブメニュー」は頻出のデザインですので、ここでサクッと作れるようにしておきましょう!!

忘れたらまたこの記事に戻ってきて、何度でも読み返してみてください!

また、下の動画でも「タブメニュー」の作り方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

では、また!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.