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

推薦する

フロントエンド開発における一般的なテクニックのまとめ

1. 記事タイトルリストの右側に日付を表​​示する方法:コードをコピーコードは次のとおりです。 &l...

MySQLは外部SQLスクリプトファイルのコマンドを実行します

目次1. SQLコマンドを含むSQLスクリプトファイルを作成する2. SQLスクリプトファイルを実行...

Vue.js フロントエンドプロジェクト向け多言語ソリューションのアイデアと実践

目次1. 通常どのようなコンテンツを処理する必要があるか2. 基本的な考え方3. 具体的な実践の詳細...

MySQLのバッファプールの詳細な説明

MySQL のデータはディスクに書き込む必要があることは誰もが知っています。ディスクの読み取りと書き...

MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...

メタを使用してトラフィックキャッシュをキャンセルし、ページにアクセスするたびにページを更新して簡単にデバッグできるようにします。

コードをコピーコードは次のとおりです。 <!-- ブラウザがローカル キャッシュからページにア...

シンプルなドラッグ効果を実現するjs

この記事では、簡単なドラッグ効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な...

CSS の複雑なセレクターと CSS のフォントスタイルと色属性の詳細な説明

これまでに CSS の基本的なセレクターをいくつか学習しましたが、今日は CSS の複雑なセレクター...

Vue Element Sortablejs を使用してテーブル列をドラッグする詳細な説明

1. css: ドラッグテーブル.css @charset "UTF-8"; ....

Dockerコンテナオーケストレーション実装プロセス分析

実際の開発環境や本番環境では、コンテナを独立して実行することはあまりなく、複数のコンテナを一緒に実行...

MySql 5.7.21 無料インストール バージョンの構成方法 (Win10 の場合)

1.インストールしたい場所に解凍し、my.iniファイルを作成します。 my.iniの内容は次のと...

Nest.js のハッシュと暗号化の例の詳細な説明

0x0 はじめにまず、ハッシュアルゴリズムとは何でしょうか?メッセージやセッション項目など、一部のデ...

Docker を使用した Hadoop クラスターのデプロイに関する詳細なチュートリアル

最近、社内に Hadoop テスト クラスターを構築したいので、docker を使用して Hadoo...

CSS マージンの重複と解決策の探索の詳細な説明

最近、CSS 関連の知識ポイントをいくつか見直し、CSS における典型的なマージンの重なりの問題を整...

dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする

前回の記事では、Docker を使用して、コンパイルされた jar パッケージをイメージに組み込む ...