js でシンプルなタブを実装する

js でシンプルなタブを実装する

タブ選択カードは、実際の Web ページで非常に頻繁に使用されます。基本的に、すべての Web ページでは 1 つ以上のタブ選択カードを使用する必要があります。

jsを使用して、シンプルなタブ選択効果を実現できます。

コードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>シンプルなカード選択エフェクト</title>
    <スタイル>
        ボディ、ul{
            マージン:0;
            パディング:0;
        }
        li{
            リストスタイル: なし;
        }
        .nav ul{
            ディスプレイ: フレックス;
        }
        .nav li{
            幅: 40%;
            マージン: 1rem;
            テキスト配置: 中央;
            フォントサイズ: 1.3rem;
        }
        .選択された{
            背景色: 黄色;
        }
        .コンテンツdiv{
            表示: なし
        }
        /* 最初はコンテンツの最初のブロックのみが表示されます*/
        .content div:n番目の子(1){
            表示: ブロック;
        }
    </スタイル>
</head>
<本文>
    <div class="nav">
        <ul>
            <!-- 最初に最初のオプションを選択します -->
            <li class="selected">ナビゲーション 1</li>
            <li>ナビゲーション 2</li>
            <li>ナビゲーション 3</li>
        </ul>
    </div>
    <div class="content">
        <div>コンテンツ 1</div>   
        <div>コンテンツ 2</div>  
        <div>コンテンツ 3</div>   
    </div>
    <スクリプト>
            //すべてのナビゲーション オプションを取得します var li = document.querySelectorAll(".nav li");
            //コンテンツのすべてのdivを取得します
            var div = document.querySelectorAll(".content div")
            for(var i=0;i<li.length;i++){
                  // 重要なのは、li と div の間に接続を確立することです li[i].index=i;
                li[i].onmouseover=関数(){
                   // すべてのオプションスタイルをクリアし、すべてのコンテンツを非表示にします for(var j=0;j<li.length;j++){
                        li[j].className="";
                        div[j].style.display="なし"
                    }
                    //マウスがホバーしているオプションのスタイルを設定すると、対応する div が表示されます this.className="selected";
                    div[this.index].style.display="ブロック";
                }
            }
        </スクリプト>
</本文>

</html>

ここで注目すべきは、この時点では、これはli[i]と同等であるということです。
li[i].index=i; このステップは、li と div の接続を確立するための鍵となるため、不可欠です。コード div[this.index].style.display="block"; を div[i].style.display="block"; に直接変更すると、効果は得られません。これは、i の値が 1 ずつ増加し続け、最終的に li.length と等しくなるため、マウスがどのオプションにあるかに関係なく、各 div が表示されないという誤った結果になるからです。

正しい効果図は次のとおりです。

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

以下もご興味があるかもしれません:
  • シンプルなタブ機能を実装するjs
  • jsを使用して、シンプルな切り替え可能なタブ効果を実現します
  • jsタブ実装方法
  • タブ切り替え効果をJavaScriptで実現(自作ネイティブjs)
  • タブ例のJS実装の詳細な説明
  • タブ切り替え効果を実現する js
  • JS タブ プラグインを作成する 2 つの方法 (jQuery とクラス)
  • jsはタブ効果を実現するためにiframeを使用します
  • シンプルなタブ制作を実現するjs
  • JS でタブ効果を書く

<<:  MySQLの挿入文字化け問題を解決する方法

>>:  Linux zabbix エージェントの展開と設定方法の詳細な説明

推薦する

divの適応高さは残りの高さを自動的に埋めます

シナリオ 1: HTML: <div class="outer"> ...

UnityはMySQLに接続し、テーブルデータの実装コードを読み取ります

表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...

データベース接続プール Druid の使用手順

総合的なパフォーマンス、信頼性、安定性、スケーラビリティ、使いやすさなどの要素に基づいて、最適なデー...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...

マスタークラスタに再参加する k8s ノードの実装

1. ノードを削除するkubectl delete node node01を実行します。 2. この...

MySQL binlog を使用して誤って削除されたデータベースを復元する方法

目次1 現在のデータベースの内容を表示し、データベースをバックアップする2 bin_log関数を有効...

MySQL スロークエリログの詳細な理解

目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...

CSS で縦書きテキスト配置を実装する方法 (概要)

HTML でのテキストのデフォルトの配置は水平ですが、特殊な場合にはテキストを垂直に配置する必要が...

mysqlタイムスタンプの使用

序文:タイムスタンプ フィールドは、MySQL でよく使用されます。たとえば、データ行が作成または変...

2時間のDocker入門チュートリアル

目次1.0 はじめに2.0 Dockerのインストール3.0基本的なDockerコマンド4.0 Do...

iframe でページを開く方法

解決:リンクのターゲット属性値をターゲット フレームワーク名と同じに設定するだけです。具体的な手順:...

VUEは登録とログインの効果を実現します

この記事の例では、登録とログインの効果を実現するためのVUEの具体的なコードを紹介します。具体的な内...

MySQLトランザクションとMySQLログの詳細な説明

取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...

jQueryはhide()とtoggle()関数を使用してカメラブランド表示の非表示機能を実現します。

最近、jQuery を学習しているときに、show()、hide()、toggle() 関数に出会い...

nginx をベースにした Web クラスター プロジェクトをすばやく構築する方法を説明します。

目次1. プロジェクト環境2. プロジェクトの説明3. プロジェクトの手順1. インストール2. 構...