格納可能なセカンダリメニューを実装するための 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で背景ぼかしを設定する方法

推薦する

Expressプロジェクトファイルディレクトリの説明と詳細な機能の説明

app.js: スタートアップファイル、またはエントリファイルpackage.json: プロジェク...

Tomcatの動作原理を分析する

SpringBoot は巨大な Python のようで、ゆっくりと私たちの周りを巻きつき、麻痺させま...

Windows で mysql5.7.21 をインストールするための詳細なチュートリアル

この記事では、参考までにMySQL 5.7.21のインストールチュートリアルを紹介します。具体的な内...

TinyEditorはシンプルで使いやすいHTML WYSIWYGエディタです

数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...

シェルでパスワードなしでMySQLデータベースに素早くログインする方法

背景Shell の mysql-client を介して MySQL データベースにログインする場合、...

CSS で隠し要素を実現する 7 つの興味深い方法

序文非表示要素の 3 つの属性である表示、可視性、不透明度の類似点と相違点は、フロントエンドの就職面...

この記事では、CSSのようなJSモジュールをインポートする方法を説明します。

目次序文構築可能なスタイルシートとは何ですか? CSSモジュールスクリプトの使用インポートアサーショ...

CSS3 を使用して色付きのプログレスバーアニメーションを実装する例

簡単なチュートリアルこれは CSS3 カラー プログレス バー アニメーション効果です。 CSS3 ...

CSS フィルターを使用してマウスオーバー効果を記述する例

CSSフィルターを使用してマウスオーバー効果を記述する <div class="fi...

Django 2.2 を MySQL データベースに接続する方法

1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...

JS クロスドメイン XML - AS URLLoader を使用

最近、機能拡張の要件を受け取りました。ただし、新しい要件で参照されているデータインターフェイスは、X...

Linux システムのパフォーマンスを分析するための top コマンドの詳細な説明

Linux topコマンドの紹介top コマンドは、Linux でよく使用されるパフォーマンス分析ツ...

MySQL 8.0はJSONを扱えるようになりました

目次1. 概要2. JSON基本ツール3. JSONパス式4. JSONを検索して変更する序文:長い...

CSS でショートカット プロパティを記述する際は、トラブルの順序に注意してください (落とし穴を避けるため)

ショートハンドプロパティは、複数のプロパティに同時に値を割り当てるために使用されます。たとえば、fo...

React+tsは二次リンク効果を実現します

この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...