テーブル切り替えのための JavaScript プラグインのカプセル化

テーブル切り替えのための JavaScript プラグインのカプセル化

この記事では、テーブル切り替えプラグインを実装するためのJavaScriptのカプセル化コードを参考までに共有します。具体的な内容は次のとおりです。

効果画像:

HTML部分:

<div class="box">
        <div id="タブボックス">
            <ul>
                <li class="liStyle">あ</li>
                <li>あ</li>
                <li>こ</li>
            </ul>
            <オル>
                <li class="liStyle">あ</li>
                <li>あ</li>
                <li>こ</li>
            </ol>
        </div>
</div>

CSS部分:

#タブボックス{
            幅: 600ピクセル;
            高さ: 450px;
            境界線: 3px 実線 #333;
        }
 
        #タブボックス>ul {
            幅: 100%;
            高さ: 50px;
            ディスプレイ: フレックス;
            コンテンツの中央揃え: 中央;
            アイテムの位置を中央揃えにします。
        }
 
        #tabBox>ul>li {
            フレックス: 1;
            高さ: 100%;
            ディスプレイ: フレックス;
            コンテンツの中央揃え: 中央;
            アイテムの位置を中央揃えにします。
            色: #fff;
            背景色: スカイブルー;
            フォントサイズ: 30px;
        }
 
        #tabBox>ul.liStyle{
            背景色: ライム;
        }
 
 
        オル {
            フレックス: 1;
            幅: 600ピクセル;
            高さ: 400px;
        }
 
        ol>li {
            幅: 100%;
            高さ: 100%;
            背景色: #ccc;
            色: #fff;
            フォントサイズ: 100px;
 
            表示: なし;
            コンテンツの中央揃え: 中央;
            アイテムの位置を中央揃えにします。
        }
 
        ol>li.liスタイル{
            ディスプレイ: フレックス;
        }

JavaScript コンストラクター部分:

関数fn15() {
            関数TabBox(タブボックス) {
                this.tabbox = タブボックス;
 
                this.tabs = tabbox.querySelectorAll("ul>li")
                this.contents = tabbox.querySelectorAll("ol>li")
            }
 
            TabBox.prototype.startSwitch = 関数 () {
                const tb = これ
 
                tb.tabs.forEach(
                    関数 (タブ、インデックス) {
                        tab.onclick = 関数 (e) {
                            tb.tabs.forEach(
                                関数(タブ){
                                    tab.classList.remove("liStyle")
                                }
                            )
 
                            tb.contents.forEach(
                                関数(con){
                                    con.classList.remove("liStyle")
                                }
                            )
 
                            tab.classList.add("liStyle")
 
                            tb.contents[index].classList.add("liStyle")
                        }
                    }
                )
            }
            const tabBox = document.querySelector("#tabBox")
 
            const tb = 新しいタブボックス(タブボックス)
 
            tb.startSwitch()
        }
        // fn15()
 
        // クラスを使用して関数fn16()を実装する{
            クラスTabBox{
                コンストラクタ(タブボックス) {
                    this.tabbox = タブボックス;
                    this.tabs = tabbox.querySelectorAll("ul>li")
                    this.contents = tabbox.querySelectorAll("ol>li")
                }
                スタートスイッチ() {
                    const tb = これ
 
                    tb.tabs.forEach(
                        関数 (タブ、インデックス) {
                            tab.onclick = 関数 (e) {
                                tb.tabs.forEach(
                                    関数(タブ){
                                        tab.classList.remove("liStyle")
                                    }
                                )
 
                                tb.contents.forEach(
                                    関数(con){
                                        con.classList.remove("liStyle")
                                    }
                                )
 
                                tab.classList.add("liStyle")
 
                                tb.contents[index].classList.add("liStyle")
                            }
                        }
                    )
                }
            }
 
 
            const tabBox = document.querySelector("#tabBox")
 
            const tb = 新しいタブボックス(タブボックス)
 
            tb.startSwitch()
        }
fn16()

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

以下もご興味があるかもしれません:
  • スタイル切り替え機能の JS 実装 tableCSS の例
  • JavaScript を使用してテーブルの色分離と選択ハイライトを実装する方法 (およびデータを動的に切り替える方法)
  • JavaScriptは矢印キーを使用してカーソルを制御し、テーブルセル間を切​​り替えます。
  • JavaScript でタブ切り替えを実装する 4 つの方法
  • 合理化されたJS DIVレイヤータブ切り替えコード
  • タブ切り替えを実現するネイティブjs
  • スライド切り替えタブメニュー効果を実現する JS+CSS
  • jsはクリックして切り替えるTABタグインスタンスを実装します
  • JS で実装されたタブページ切り替え効果の完全な例
  • Vue.jsコンポーネントタブはタブ切り替えを実装します

<<:  リクエストを転送したり、静的リソースファイルにアクセスしたりする複数の場所への nginx の実装

>>:  個人履歴書を作成するための HTML の簡単な実装

推薦する

LinuxスレッドのPID(TID、LWP)を取得するいくつかの方法の詳細な説明

Linux C/C++ では、スレッド レベルの操作は通常、pthread ライブラリを通じて実行さ...

nginx で HSTS を有効にしてブラウザを HTTPS アクセスにリダイレクトする方法の詳細な説明

前回の記事では、https を使用したローカルノードサービスアクセスを実装しました。前回の記事の効果...

jQueryはショッピングカートの完全な機能を実現します

この記事では、ショッピングカートの完全な機能を実現するためのjQueryの具体的なコードを参考までに...

Alibaba Cloud ECSインスタンスのユーザールートパスワードとリモート接続方法を設定する方法

Alibaba Cloud サーバーを購入した後、新しいインスタンスが正常に動作できるようにするには...

JSはプログレスバーのスムーズバージョンの詳細な計画を実装します

進捗バーがスムーズではないフロントエンドを学ぶ学生のほとんどは、オーディオプレーヤーやビデオプレーヤ...

Windows Server 2016 AD サーバーをセットアップする手順 (画像とテキスト)

導入: AD は Active Directory の略称で、中国語では Active Direct...

HTML テキストエスケープのヒント

今日、CSDN で HTML テキスト エスケープのちょっとしたトリックを見ましたが、とても簡単です...

CSSのline-heightとheightの詳細な説明

最近、CSS インターフェースに取り組んでいるときに、line-height と height とい...

Vue.js での $emit の使用に関する詳細な説明

1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。 2....

Linux システムのシャットダウンコマンドの違いと使い方の詳細な説明

Linux システムのシャットダウン コマンドは何ですか? Liangxu Tutorial Net...

CocosCreator ソースコードの解釈: エンジンの起動とメインループ

目次序文準備行く!文章プロセスを開始するメインループまとめ要約する序文準備皆さんは、こんなことを考え...

Node.JS で悪天候のリアルタイム警報システムを構築する

目次序文:ステップ1: 無料の天気予報インターフェースを見つけるステップ2: 天気予報インターフェー...

HTMLタグのデフォルトスタイルの配置

html、address、blockquote、body、dd、div、dl、dt、fieldset...

CSS で中空効果を実装するサンプルコード

効果原理主にCSSグラデーションを使用して、切り取りを必要としない背景のくり抜きを実現します。クーポ...

JPG、GIF、PNGなどのさまざまな画像形式の詳細な説明

ウェブページ上の画像が一般的に jpg、gif、png 形式であることは誰もが知っています。それらの...