タブ切り替え効果を実現する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 におけるデータタイムとタイムスタンプの違い

推薦する

MySQL Group by最適化の詳細な説明

目次標準的な実行プロセス最適化並べ替えを削除並べ替え成し遂げる要約する標準の Group by ステ...

IIS7 IIS8 http は自動的に HTTPS にジャンプします (ポート 80 はポート 443 にジャンプします)

IIS7 では、「URL REWRITE2」疑似静的モジュールがインストールされているかどうかを確...

VUEのデータプロキシとイベントの詳細な説明

目次Object.defineProperty メソッドのレビューデータブローカーとは何ですか? V...

Vue/React シングルページ アプリケーションをリフレッシュなしで復元するソリューション

目次導入なぜわざわざ?落とし穴のあるコミュニティソリューション(Vue を例に挙げる)現時点では良い...

Docker構成 Alibaba Cloud Container Serviceの操作

Alibaba Cloud Dockerコンテナサービスの設定Alibaba Cloud Image...

Vueテクノロジーに基づく再帰コンポーネントの実装方法

説明するこの記事では、Vue テクノロジーに基づいて再帰コンポーネントを実装する方法を紹介します。 ...

Apache Log4j2 が核レベルの脆弱性と迅速な修正を報告

Apache Log4j2 が核レベルの脆弱性を報告し、スタックリーダーの友人たちは大騒ぎになりまし...

Docker イメージのローカル Elasticsearch ポート操作へのアクセス

dockerスタックによってデプロイされたイメージサービスを使用すると、イメージを入力した後、理論的...

Nodejs 組み込み暗号化モジュールを使用してピアツーピアの暗号化と復号化を実現する詳細な説明

暗号化と復号化は、通信のセキュリティを確保するための重要な手段です。すでに多くの暗号化アルゴリズムが...

Centos 6.5 での mysql-community-server. 5.7.18-1.el6 のインストール

次のコマンドを使用して、MySQL Serverがインストールされているかどうかを確認します。 [r...

vue+springbootでログイン機能を実現

この記事の例では、ログイン機能を実現するためのvue+springbootの具体的なコードを参考まで...

MySQLデータベースを操作するためのコマンドラインツールmycliの簡単な紹介

GitHub にはあらゆる種類の魔法のツールがあります。今日、私はデータベースを操作するためのコマン...

Docker を使用した nGrinder パフォーマンス テスト プラットフォームの導入プロセスの分析

nGrinderとは何ですか? nGrinder は、スクリプトの作成、テストの実行、監視、結果レポ...

bashの初期化メカニズムの詳細な説明

Bash 初期化ファイル対話型ログインシェル次の場合にはログイン シェルを取得できます。ローカル端末...

HTMLボタンを中央に配置する方法

HTML ボタン自体を中央に配置するにはどうすればよいでしょうか? このアイデアは簡単に見つかります...