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

推薦する

CSS 位置プロパティが絶対の場合のパーセンテージ値の計算

位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...

dockerにmysqlをインストールした後にNavicatが接続できない問題に対する完璧な解決策

1. Dockerがイメージをプルするdocker pull mysql (デフォルトで最新バージョ...

Vue+SpringBoot で Alipay サンドボックス決済を実装するためのサンプルコード

まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...

Vue.jsはElement-uiを使用してナビゲーションメニューを実装します

この記事では、Element-uiを使用してvue.jsでナビゲーションメニューを実装するための具体...

jQueryはスライディングタブを実装する

この記事では、スライドタブを実装するためのjQueryの具体的なコードを参考までに紹介します。具体的...

カルーセル例の JavaScript 実装

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

スクロールラグの問題を解決するためのオーバーフロースクロールの詳細な説明

序文div またはモジュールに overflow: scroll 属性を使用すると、iOS フォンで...

Dockerボリューム削除操作

プルーンこのコマンドを使用するには、クライアントとデーモンの両方の API バージョンが少なくとも ...

JavaScript 配列メソッドの詳細な例

目次導入配列の作成作成方法詳しい説明方法参加する() push() と pop() shift() ...

テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

クリックして展開し、全文を読む機能を実現する純粋なCSS

注記記事表示リストインターフェースを開発する場合、情報の基本的な概要を提供するために記事ヘッダーコン...

Vueでスワイパープラグインを使用する際の問題を解決する

デモを作成するときにこのプラグインを使用していくつか問題が発生したため、プラグインの使用方法といくつ...

Vueはページに透かし効果を追加する機能を実装します

最近、あるプロジェクトに取り組んでいたとき、ページに透かし効果を追加するように依頼されました。さっそ...

Web ページ WB.ExecWB 制御印刷メソッド呼び出しの説明とパラメータの紹介

WebページWB.ExecWB制御印刷方法コードをコピーコードは次のとおりです。 <テーブルの...

CentOS 7 に PHP5 用の suPHP をインストールする方法 (Peng Ge)

デフォルトでは、CentOS 7 上の PHP は apache または nobody として実行さ...