格納可能なセカンダリメニューを実装するための JavaScript

格納可能なセカンダリメニューを実装するための JavaScript

JavaScriptで格納可能なセカンダリメニューを実装するための具体的なコードは参考までに。具体的な内容は次のとおりです。

格納可能なセカンダリメニュー:

ケースの説明: 効果図は以下のとおりです。一度に開くことができるのは 1 つだけです。開くと、+ 記号が - に変わります。

HTMLコード

<!--プルリスト-->
<スタイル>
 
    li {
        /*li ドットをキャンセル*/
        リストスタイル: なし;
    }
 
    li span {
        /* span タグの背景画像を設定します (先頭に小さなプラス記号とマイナス記号、繰り返しなし、初期位置 0 0)*/
        背景: url(add.png) 繰り返しなし 左中央;
        左パディング: 20px;
    }
 
    /*開始スタイル*/
    li ul{
        高さ: 0;
        /*オーバーフローは非表示*/
        オーバーフロー: 非表示;
        /*トランジション効果を追加*/
        遷移: すべて 0.5 秒;
    }
    /*スタイルを展開*/
    。開ける{
        背景画像: url(minus.png);
    }
    .open+ul{
        高さ: 70px;
    }
 
 
</スタイル>
 
 
<ul class="tree">
    <li><span class="open">出席管理</span>
        <ul>
            <li>毎日の出席状況</li>
            <li>休暇申請</li>
            <li>残業出張</li>
        </ul>
    </li>
    <li><span>インフォメーションセンター</span>
        <ul>
            <li>毎日の出席状況</li>
            <li>休暇申請</li>
            <li>残業出張</li>
        </ul>
    </li>
    <li><span>コラボレーションオフィス</span>
        <ul>
            <li>毎日の出席状況</li>
            <li>休暇申請</li>
            <li>残業出張</li>
        </ul>
    </li>
</ul>
 
<script src="mJS.js"></script>

JavaScript コード

// プルアウトリスト // 実装のアイデア:
 
var spans = document.querySelectorAll(".tree span");
 
(var i = 0; i < spans.length; i++) の場合 {
    spans[i].onclick = 関数 () {
        // コンソールログ(これ);
        // 変更する要素スパンを検索 // クラスを変更、削除、または追加 -> 開く
        // 自分自身が開いているかどうかを確認し、開いている場合は削除します。
        // this -> イベントをトリガーした要素を指します if (this.className == "open") {
            // ある場合は削除してください。
            this.className = "";
        } それ以外 {
            // そうでない場合は、それを追加し、すでに開いている他のものを削除します。
            // open 属性の open (li) を検索します
            var openSpan = document.querySelector(".tree.open")
            (openSpan !== null)の場合{
                // コレクションが空でない場合は、その open 属性を削除します。 openSpan.className = "";
            }
            // 自分自身のオープン属性を設定します this.className = "open";
        }
 
 
    }
}

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

以下もご興味があるかもしれません:
  • JavaScript ドロップダウン メニュー実装コード
  • ユニバーサルセカンダリメニューコード (css+javascript)
  • シンプルなjsツリーメニュー
  • 3 段階のドロップダウン メニューの JS 実装コード
  • 日付ドロップダウンメニューの js 実装コード
  • JS リアルマルチレベルリンクドロップダウンメニュークラス、省、市、地区のリンクメニューを簡単に実現します。
  • jsを使用してシンプルな折りたたみと展開メニューメソッドを実現します
  • JavaScript は、州、市、地区の 3 段階のリンク ドロップダウン ボックス メニューを実現します。
  • Js クリック ポップアップ ドロップダウン メニュー効果の例
  • ドロップダウンメニューを表示または非表示にするJavaScript

<<:  ウェブページのドロップダウンリストとdivレイヤーのカバーの問題を選択する

>>:  CSSで背景ぼかしを設定する方法

推薦する

複数の古いプレーヤーの埋め込みコード

ウェブページに表示されるプレーヤーは、WMP/RealPlayer/Flash Player に過ぎ...

MySQL 起動エラー InnoDB: ロックできません/ibdata1 エラー

OS X 環境で MySQL を起動すると、エラー メッセージが表示されます。 016-03-03T...

MySQL の pid とソケットの詳細な説明

目次1. pidファイルの紹介2.ソケットファイルの紹介要約:ソケット ファイル: Unix ドメイ...

Linux ssh サービス情報と実行ステータスを表示する方法

Linux での ssh サービス構成など、ssh サーバー構成に関する記事は多数あります。ここでは...

Vueはシンプルなショッピングカートの例を実装します

この記事では、Vueの具体的なコードを共有して、簡単なショッピングカートを実装します。具体的な内容は...

既存のMySQLデータベースの文字セットを統一する方法

序文データベースでは、一部のデータ テーブルとデータは latin1 であり、一部のデータ テーブル...

Linux カーネル デバイス ドライバー Linux カーネル 基本メモの概要

1. Linuxカーネルドライバモジュールの仕組み静的ロードでは、ドライバモジュールをカーネルにコン...

ファイルのアップロードの進行状況を示す React の例

目次React アップロードファイル表示の進行状況デモフロントエンドにReactアプリケーションを素...

Kylin V10 への zabbix-agent のインストール手順

1. インストールパッケージをダウンロードするダウンロードアドレス: https://sourcef...

効率的なMySQLページングの詳細な説明

序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...

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

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

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...

MySQLデータベースバックアップのさまざまな実装方法の概要

この記事では、MySQL データベースのバックアップを実装するさまざまな方法について説明します。ご参...

MySQLフィルタリングレプリケーションのアイデアの詳細な説明

目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...

Vue でシンプルな無限ループスクロールアニメーションを実装する例

この記事では主に、Vue でシンプルな無限ループスクロールアニメーションを実装し、みんなで共有する例...