テーブル切り替えのための 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 の簡単な実装

推薦する

高度な JavaScript フロントエンド開発でよく使用されるいくつかの API の例の詳細な説明

目次ミューテーションオブザーバーAPI特徴インターセクションオブザーバーAPI例えば画像の遅延読み込...

Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策

序文docker イメージを削除できません。docker docker imagesを確認すると、イ...

HTMLボタンを中央に配置する方法

HTML ボタン自体を中央に配置するにはどうすればよいでしょうか? このアイデアは簡単に見つかります...

LinuxでのDNSサーバーの設定の詳細な説明

1. DNSサーバーの概念インターネットでの通信には IP アドレスの助けが必要ですが、数字に対する...

Vue Element UIの使用時に遭遇した問題をまとめる

目次1. DateTimePickerの日付選択範囲は現在時刻とそれ以前です2. DateTimeP...

MySQL のユニークインデックスと通常のインデックスのどちらを選択すればよいでしょうか?

ユーザー テーブルを設計するときに、各人の ID 番号が一意であり、検索する必要があるシナリオを想像...

WeChatアプレットコンポーネント開発:視覚的な映画座席選択機能

目次1. はじめに1. コンポーネントデータ2. コンポーネントページのレイアウト1. ロゴエリアの...

クリックナンバーゲームを実装するネイティブJS

参考までに、クリックナンバーゲームをネイティブJSで実装しました。具体的な内容は以下のとおりです。最...

mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル

目次リレーショナルデータベースとは何ですか?非リレーショナルデータベースとは何ですか? MySQL ...

Linux における nohup と & の使い方と違いの詳細な説明

例:例として、Python コード loop_hello.py を使用します。このコードは、ループ回...

JavaScript フレームワーク デザイン パターンの詳細な説明

目次動画最優秀選手ムヴヴムVueのソーススパ mpa要素を作成するクラス要約する動画 Model(模...

Tomcat サーバーの応答が遅い場合の解決策

1. 分析的思考1. 機械自身の理由を排除する2. サーバーパフォーマンス分析3. プロジェクト自体...

怖いハロウィーン Linux コマンド

ハロウィーンではありませんが、Linux の不気味な側面に注目する価値はあります。幽霊、魔女、ゾンビ...

Dockerfile を使用して Docker でイメージを構築する方法

イメージを構築するこれまで、テストやデモンストレーションにさまざまなイメージを使用しました。多くの場...

MySQLで行を列に変換する方法

MySQL の行から列への操作いわゆる行から列への操作は、テーブルの行情報を列情報に変換することです...