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

推薦する

IDEA で Docker プロジェクトをデプロイする手順

現在、ほとんどのプロジェクトが Docker 上にデプロイされ始めていますが、デプロイのプロセスはま...

pt-heartbeat を使用して MySQL レプリケーションの遅延を監視する方法の詳細な説明

pt-ハートビートデータベースがマスターとスレーブ間で複製される場合、複製ステータスとデータ遅延は非...

VMware 15.5 バージョンのインストール Windows_Server_2008_R2 システム チュートリアル図

1. VMware 15.5から新しい仮想マシンを作成する1. VMware を開き、ホームページで...

HTML+CSS+jQuery はスクリーンショットで検索ホットリストタブ効果を模倣します

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

フレックスボックスレイアウトの最終行の左揃えの実装アイデア

フレックスレイアウトを使用すると、9つの正方形のグリッドであれば、図に示すように均等に分割できます。...

MySQL のジオメトリ型を使用して経度と緯度の距離の問題を処理する方法

テーブルを作成する テーブル `map` を作成します ( `id` int(11) NULLではな...

Ubuntu ベースのディストリビューションに Microsoft TrueType フォントをインストールするチュートリアル

Linux 上の LibreOffice で Microsoft ドキュメントを開くと、フォントが少...

JS の 6 つの継承方法とその長所と短所

目次序文プロトタイプチェーン継承コンストラクタの継承組み合わせ継承(プロトタイプチェーン継承とコンス...

MySQLインストール後のデフォルトデータベースの役割の詳細な説明

MySQL を学習すると、インストール後にいくつかのデフォルトのデータベースが付属していることに気付...

Vue での ref の使用法とデモンストレーション

ref 定義:要素またはサブコンポーネントの参照情報を登録するために使用されます。参照情報は、親コン...

MySQL の列から行への変換のヒント (共有)

序文:多くのビジネス テーブルでは、歴史的またはパフォーマンス上の理由により、最初のパラダイムに違反...

MySQL 8.0.19 インストール詳細チュートリアル (Windows 64 ビット)

目次MySQLを初期化するMySQL サービスをインストール + MySQL サービスを開始MySQ...

Linux システムでのルート ディレクトリ拡張の概要

1. Linuxディスクの状態を確認する df -lh lsblkコマンドは、使用可能なすべてのブロ...

MySQL における in と exists の違いの詳細な説明

1. 事前に準備する便宜上、ここで 2 つのテーブルを作成し、そこにいくつかのデータを追加します。果...