タブ切り替え効果を実現するJavaScript

タブ切り替え効果を実現するJavaScript

この記事では、タブ切り替え効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

メインインターフェースを構築する

HTMLコード

<h1>タブ切り替え効果を実現する</h1>
<ul id="タブ">
    <li><a href="">映画とテレビ</a></li>
    <li><a href="">エンターテインメント</a></li>
    <li><a href="">テレビシリーズ</a></li>
</ul>
<div id="コンテンツ">
    <div id="content1">最新の映画おすすめ:<br>「ワイルド・スピード」<br>「ベイマックス」</div>
    <div id="content2">ホットなエンターテイメントのおすすめ:<br>「ランニングマン」<br>「The Voice of China」</div>
    <div id="content3">人気のテレビシリーズのおすすめ:<br>「Three Lives, Three Worlds」<br>「Our Times」</div>
</div>

CSSファイルの記述

新しい CSS ファイルを作成し、以前に記述した HTML インターフェイスをレンダリングするための CSS コードを記述します。

HTML ファイルに CSS ファイルをインポートすることを忘れないでください。

<link rel="スタイルシート" href="mCSS.css" >

CSSファイルコード

*{
    マージン: 0;
    パディング: 0;
}
 
#タブ{
    オーバーフロー: 非表示;
}
 
#タブli {
    フロート: 左;
    リストスタイル: なし;
    幅: 80ピクセル;
    高さ: 40px;
    テキスト配置: 中央;
}
 
#タブ li:first-child、#content1 {
    背景: #ffcc00;
}
 
#タブ li:最初の子 + li、#コンテンツ2 {
    背景: #ff00cc;
}
 
#タブ li:最後の子、#コンテンツ3 {
    背景: #00ccff;
}
 
#タブli a {
    行の高さ: 40px;
    色: 白;
    テキスト装飾: なし;
}
 
#コンテンツ {
    位置: 相対的;
}
 
#コンテンツ1、#コンテンツ2、#コンテンツ3 {
    幅: 300ピクセル;
    高さ: 100px;
    位置: 絶対;
    上: 0;
    左: 0;
    パディング: 30px;
    表示: なし;
}
 
#コンテンツ1{
    表示: ブロック;
}

切り替え効果を実現するためのJavaScriptスクリプトファイルを作成する

JavaScript コード

// 特定のラベルをクリックすると、対応する div が表示され、その他は非表示になります。
// イベントをトリガーした要素を検索します var as = document.querySelectorAll("#tab a");
// イベント処理関数をバインドする for (var i = 0; i < as.length; i++) {
    as[i].onclick = 関数(){
        // すべてのdivを非表示にする
        var divs = document.querySelectorAll("#content>div");
        (var i = 0; i < divs.length; i++) の場合 {
            divs[i].style.display = "なし";
        }
        // 対応するdivを表示させる // 現在のaのhrefを取得する
        var i = this.href.lastIndexOf("#");
        var id = this.href.slice(i);
        コンソール.log(id)
        document.querySelector(id).style.display = "ブロック";
    }
 
}

完全なケースコード

htmlファイル

<link rel="スタイルシート" href="mCSS.css" >
 
<h1>タブ切り替え効果を実現する</h1>
<ul id="タブ">
    <li><a href="#content1" >映画とテレビ</a></li>
    <li><a href="#content2" >エンターテイメント</a></li>
    <li><a href="#content3" >テレビシリーズ</a></li>
</ul>
<div id="コンテンツ">
    <div id="content1">最新の映画おすすめ:<br>「ワイルド・スピード」<br>「ベイマックス」</div>
    <div id="content2">ホットなエンターテイメントのおすすめ:<br>「ランニングマン」<br>「The Voice of China」</div>
    <div id="content3">人気のテレビシリーズのおすすめ:<br>「Three Lives, Three Worlds」<br>「Our Times」</div>
</div>
 
 
<script src="mJS.js"></script>

css の書式

*{
    マージン: 0;
    パディング: 0;
}
 
#タブ{
    オーバーフロー: 非表示;
}
 
#タブli {
    フロート: 左;
    リストスタイル: なし;
    幅: 80ピクセル;
    高さ: 40px;
    テキスト配置: 中央;
}
 
#タブ li:first-child、#content1 {
    背景: #ffcc00;
}
 
#タブ li:最初の子 + li、#コンテンツ2 {
    背景: #ff00cc;
}
 
#タブ li:最後の子、#コンテンツ3 {
    背景: #00ccff;
}
 
#タブli a {
    表示: ブロック;
    幅: 100%;
    高さ: 100%;
    行の高さ: 40px;
    色: 白;
    テキスト装飾: なし;
}
 
#コンテンツ {
    位置: 相対的;
}
 
#コンテンツ1、#コンテンツ2、#コンテンツ3 {
    幅: 300ピクセル;
    高さ: 100px;
    位置: 絶対;
    上: 0;
    左: 0;
    パディング: 30px;
    表示: なし;
}
 
#コンテンツ1{
    表示: ブロック;
}

js の

// 特定のラベルをクリックすると、対応する div が表示され、その他は非表示になります。
// イベントをトリガーした要素を検索します var as = document.querySelectorAll("#tab a");
// イベント処理関数をバインドする for (var i = 0; i < as.length; i++) {
    as[i].onclick = 関数(){
        // すべてのdivを非表示にする
        var divs = document.querySelectorAll("#content>div");
        (var i = 0; i < divs.length; i++) の場合 {
            divs[i].style.display = "なし";
        }
        // 対応するdivを表示させる // 現在のaのhrefを取得する
        var i = this.href.lastIndexOf("#");
        var id = this.href.slice(i);
        コンソールログ(ID)
        document.querySelector(id).style.display = "ブロック";
    }
 
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScriptでタブページ切り替えを実装する最も簡単な方法(4種類)
  • Vue.jsはタブ切り替え効果を実現します
  • AngularJSのタブ切り替え機能の定番例を詳しく解説
  • JSはタブ切り替え効果を実現します
  • 純粋な JavaScript でタブ ページ切り替えを実装する最も簡単な方法 (推奨)
  • タブを切り替える効果を実現する JS のサンプルコード
  • 純粋な CSS + JS で記述されたスタイルのシンプルなタブ ページ
  • JS でタブ効果を実現する (CSS を使用)
  • AngularJS でタブを実装する 2 つの方法

<<:  DIVまたはDIVで画像を水平方向と垂直方向に中央揃えする方法

>>:  MySQL におけるデータタイムとタイムスタンプの違い

推薦する

テーブルの追加と削除の操作を実装する js

この記事の例では、テーブルを追加および削除するためのjsの具体的なコードを参考までに共有しています。...

MySQL 2級コンピュータ試験共通テストポイント 8つのMySQLデータベース設計最適化方法

MySQLデータベース設計の8つの最適化方法の詳細は次のとおりです。 1. 最も適切なフィールド属性...

MySQL SQL ステートメントのパフォーマンス チューニングの簡単な例

MySQL SQL ステートメントのパフォーマンス チューニングの簡単な例サーバー開発を行う際には、...

MySQL 8.0.21 のインストール手順と問題解決

公式サイトをダウンロードまず公式ウェブサイトにアクセスしてMySQLをダウンロードしてくださいリンク...

MySQLデータベースで列を追加、削除、変更する方法

この記事では、例を使用して、MySQL データベースの列を追加、削除、および変更する方法について説明...

HTMLで特殊記号を表示する(特殊文字対応表付き)

問題の再現HTML を使用して編集する場合、特殊記号によってエラーが表示されることが多く、極端な場合...

Vueはアップロードコンポーネントを実装します

目次1. はじめに2. アイデアファイルをアップロードする2つの方法3. ライフサイクル4. コード...

vue WatchとComputedの使用の概要

目次01. リスナーウォッチ(1)機能(2)特性と方法(3)監視対象(4)リスニングアレイ02. 計...

純粋なテキストとアイコン付きのボタンを実現するための HTML+CSS

この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...

MySQL テーブルを削除するときに外部キー制約を無視するシンプルな実装

テーブルを削除することはあまり一般的ではありませんが、特に外部キーの関連付けがあるテーブルの場合は、...

太字の <b> と <strong> の違いの分析

私たちウェブマスターは皆、ウェブサイトを最適化する際に記事内のキーワードを太字にすることが最適化に非...

CSS3 で背景の透明化と不透明テキストを実装するサンプルコード

最近、画像上に半透明の背景でテキストを表示する必要があるという要件に遭遇しました。その効果は次のよう...

Docker Compose のサイドカーモードの詳細な説明

目次Docker Composeとは要件に不適切な言語が使用されている実装Docker Compos...

セマンティックウェブページ XHTML セマンティックマークアップ

構造とプレゼンテーションを分離するもう 1 つの重要な側面は、セマンティック マークアップを使用して...

MySQL DMLステートメントの使用に関する詳細な説明

序文:前回の記事では、注意深い学生であれば発見できたかもしれない DDL ステートメントの使用法を中...