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 エージェントの展開と設定方法の詳細な説明

推薦する

DockerでJavaプログラムを起動する方法

シンプルなSpring Boot Webプロジェクトを作成するアイデア ツールを使用して、Sprin...

ウェブページのエンコードにおける GB2312、GBK、UTF-8 の違い

まず、GB2312、GBK、UTF-8 はすべて文字エンコーディングであることを理解する必要がありま...

ウェブページにプレーヤーを埋め込む埋め込み要素の自動開始が false 無効

最近、仕事でサウンド ファイルを再生するために Web ページにプレーヤーを埋め込む必要に迫られまし...

Vueはミックスインを使用してコンポーネントを最適化します

目次ミックスインの実装フック関数のマージプロジェクト実践伸ばす要約するVue は mixins AP...

Jenkins Docker 静的エージェント ノードのビルド プロセス

静的ノードはマシン上に固定されており、いくつかの固定コマンドを通じて起動されます。動的ノードには複数...

Linux で boost.python を使用して C++ 動的ライブラリを呼び出す方法

序文最近、C++ 動的ライブラリをテストするためにロボット フレームワークを使い始めました。ロボット...

JS配列の組み込みトラバーサルメソッドとその違いについての簡単な説明

目次forEach() (ES6) メソッドmap() (ES6) メソッドflatMap() メソ...

Zabbix を使用して ogg プロセスを監視する (Windows プラットフォーム)

この記事では、Windows プラットフォームで ogg プログラムを監視する方法を紹介します。 (...

Linux Centos8 CA証明書作成チュートリアル

必要なファイルをインストールする Yum インストール openssl-* -yデータベースインデッ...

静的ページと動的ページの実行メカニズムの説明

1. 静的ページとは、Web ページ内に HTML タグのみが含まれるページです。WEB 開発者がこ...

一般的なDockerコマンドの詳細な説明

1. ヘルプコマンド1. 現在のDockerバージョンを表示する docker バージョン2. イメ...

Docker 用ビジュアル UI 管理ツール Portainer のインストールと使用方法の分析

Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...

クロスオリジン画像リソース権限(CORS 対応画像)

HTML 仕様書では、画像の crossorigin 属性が導入されています。適切なヘッダー情報 ...

回転灯効果を実現するWeChatアプレットの例

序文日常の開発では、テキストの水平スクロール効果(一般にカルーセルと呼ばれる)によく遭遇します。これ...

CSS を使用して物流の進行状況のスタイルを実装するためのサンプルコード

効果: CSS スタイル: <スタイル タイプ="text/css">...