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 を使用せずに HTML の a タグを無効にするには、純粋な CSS を使用します。

実際、この問題は、HTML の select タグを初めて学んだときにすでに発生していました。今日に...

異なるページ間のJavaScriptデータ転送(URLパラメータ取得)

Web ページでは、あるページに情報を入力すると、別のページにジャンプし、入力した情報が別のページ...

JSON.stringify のさまざまな用途のまとめ

序文json を使用したことがある人なら、オブジェクトを文字列化してからバックエンドに送信するのが一...

CentOS8.1 で Gitlab サーバーを構築するための詳細なチュートリアル

Gitlab と Github の違いについては、あまり説明する必要はありません。一言でまとめると、...

Linux は、Deepin がルートユーザーとして Google Chrome ブラウザを起動できない問題を解決します

Deepin がルートユーザーとして Google Chrome ブラウザを起動できない問題を解決す...

JavaScript JSON.stringify() の使用法の概要

目次1. 使用方法1. 基本的な使い方2. 2番目のパラメータ - フィルター3. 3番目のパラメー...

コメント付きのスネークゲームを実装する js

この記事の例では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有しています。具体...

VMware WorkStation を Docker for Windows で使用するための詳細なチュートリアル

目次1. はじめに2. Windows用Dockerをインストールする1. Windows用Dock...

jQuery の CSS スタイル属性 css() と width() の完全ガイド

目次1. css() の基本的な使用法: 1.1 CSSプロパティを取得する1.2 CSSプロパティ...

mysql5.7.21 utf8 エンコーディングの問題と Mac 環境での解決方法

1. 目標: mysql の character_set_server の値を latin1 から ...

Linux ターミナルでドメイン IP アドレスを見つけるコマンド (5 つの方法)

このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...

React双方向データバインディングの原理についての簡単な説明

目次双方向データバインディングとは双方向データバインディングの実装データ影響ビュービューはデータに影...

CSS 配置レイアウト (位置、配置レイアウト スキル)

1. ポジショニングとは何ですか? CSS の position 属性には、absolute/re...

VMware 仮想マシンでの CentOS7 ネットワーク構成 (ホストのワイヤレス インターネット アクセス)

CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...