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

推薦する

カスタムスクロールバー効果を実現するJavaScript

実際のプロジェクトでは、上下のスクロール バーと左右のスクロール バーは DIV 内にないため、右の...

KVM 仮想化のインストール、展開、管理のチュートリアル

目次1.kvmの展開1.1 kvmのインストール1.2 kvm Web管理インターフェースのインスト...

史上最もクリエイティブな404ページのデザインは、ウェブサイトのユーザーエクスペリエンスを効果的に向上させます

ウェブを閲覧しているときに 404 ページに遭遇することはあまりないので、見落としがちです。しかし、...

Windows 10 でカスタムドメイン名をバインドするように Hexo と GitHub を構成する方法

Hexo は Windows 10 でカスタムドメイン名を GitHub にバインドしますまずドメイ...

Nginx Rewriteモジュールを使用するいくつかのシナリオ

アプリケーションシナリオ1: ドメイン名ベースのリダイレクト会社の古いドメイン名は www.accp...

uniapp は日付と時刻の選択機能を実装します

この記事の例では、日付と時刻の選択を実装するための uniapp の具体的なコードを参考までに共有し...

MySQL スロークエリログの役割と公開

序文MySQL スロー クエリ ログは、MySQL が提供するログ レコードの一種です。これは、応答...

JavaScript の組み込みオブジェクト 数学と文字列の詳細な説明

目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...

MYSQLパターンマッチングREGEXPの使用に関する一般的な話など

のようにLIKE ではデータ全体が一致する必要がありますが、REGEXP では部分的な一致のみが必要...

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

CSS3 フリップカード番号サンプルコード

今日会社から課題をもらったのですが、効果図は以下のとおりです。 どのような効果を実現したいかは特に決...

CSS ワールド - コード実践: 画像の Alt 情報の表示

ただし、デフォルトの src を持つ <img> 要素を使用してスクロール読み込み効果を...

JS でページのスクリーンショット機能を実装する方法

「ページのスクリーンショット」は、ページポスターの生成、ポップアップ画像の共有など、フロントエンドで...

ネットワークセグメント内の IP アドレスに対する Nginx の接続制限設定の詳細な説明

Nginx におけるいわゆる接続制限は、実際には TCP 接続、つまり 3 ウェイ ハンドシェイク後...

HTML フォームタグチュートリアル (4):

ここで、次のような項目をフォームに追加したいとします: 現在いる都市を参照します。ここで私たちが話し...