JavaScript zur Implementierung eines einziehbaren sekundären Menüs

JavaScript zur Implementierung eines einziehbaren sekundären Menüs

Der spezifische Code zur Implementierung des einziehbaren sekundären Menüs in JavaScript dient Ihnen als Referenz. Der spezifische Inhalt ist wie folgt

Einklappbares Sekundärmenü:

Fallbeschreibung: Das Effektdiagramm ist wie folgt. Es kann immer nur eines geöffnet werden. Nach dem Öffnen ändert sich das + Zeichen in -.

HTML Code

<!--Liste abrufen-->
<Stil>
 
    li {
        /*Den Li-Punkt löschen*/
        Listenstil: keiner;
    }
 
    li Spanne {
        /*Hintergrundbild für das Span-Tag festlegen (kleine Plus- und Minuszeichen am Anfang, keine Wiederholung, Anfangsposition 0 0)*/
        Hintergrund: URL (add.png) keine Wiederholung links Mitte;
        Polsterung links: 20px;
    }
 
    /*Startstil*/
    li ul{
        Höhe: 0;
        /*Überlauf ausgeblendet*/
        Überlauf: versteckt;
        /*Übergangseffekt hinzufügen*/
        Übergang: alle 0,5 s;
    }
    /*Stil erweitern*/
    .offen{
        Hintergrundbild: URL (minus.png);
    }
    .öffnen+ul{
        Höhe: 70px;
    }
 
 
</Stil>
 
 
<ul Klasse="Baum">
    <li><span class="open">Anwesenheitsverwaltung</span>
        <ul>
            <li>Tägliche Anwesenheit</li>
            <li>Urlaubsantrag</li>
            <li>Überstunden auf Geschäftsreise</li>
        </ul>
    </li>
    <li><span>Informationszentrum</span>
        <ul>
            <li>Tägliche Anwesenheit</li>
            <li>Urlaubsantrag</li>
            <li>Überstunden auf Geschäftsreise</li>
        </ul>
    </li>
    <li><span>Gemeinsames Büro</span>
        <ul>
            <li>Tägliche Anwesenheit</li>
            <li>Urlaubsantrag</li>
            <li>Überstunden auf Geschäftsreise</li>
        </ul>
    </li>
</ul>
 
<script src="mJS.js"></script>

JavaScript-Code

// Pull-out-Liste // Umsetzungsideen:
 
var spans = document.querySelectorAll(".tree span");
 
für (var i = 0; i < spans.length; i++) {
    spans[i].onclick = Funktion () {
        // konsole.log(dies);
        // Zu ändernde Elementspanne suchen // Klasse ändern, löschen oder hinzufügen -> öffnen
        //Überprüfen Sie, ob eine Öffnung auf sich selbst vorliegt, und löschen Sie diese ggf.!
        // this -> zeigt auf das Element, das das Ereignis ausgelöst hat if (this.className == "open") {
            // Wenn ja, dann lösche es!
            dieser.Klassenname = "";
        } anders {
            // Wenn nicht, füge es hinzu und lösche die anderen, die bereits geöffnet sind!
            //Finde das Open (li des Open-Attributs)
            var openSpan = document.querySelector(".tree.open")
            if (openSpan !== null) {
                // Wenn die Sammlung nicht leer ist, löschen Sie ihr offenes Attribut openSpan.className = "";
            }
            // Legen Sie das Open-Attribut für sich selbst fest. this.className = "open";
        }
 
 
    }
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Implementierungscode für JavaScript-Dropdown-Menüs
  • Universeller sekundärer Menücode (CSS+JavaScript)
  • Ein einfaches JS-Baummenü
  • JS-Implementierungscode für das dreistufige Dropdown-Menü
  • Ein JS-Implementierungscode für ein Datums-Dropdown-Menü
  • Echte mehrstufige Verknüpfungs-Dropdown-Menüklasse von JS. Einfache Realisierung des Verknüpfungsmenüs von Provinzen, Städten und Bezirken!
  • js, um eine einfache Methode zum Ein- und Ausklappen von Menüs zu erreichen
  • JavaScript realisiert das dreistufige Verknüpfungs-Dropdown-Box-Menü von Provinzen, Städten und Bezirken
  • Beispiel für einen Js-Klick-Popup-Dropdown-Menüeffekt
  • JavaScript zum Anzeigen und Ausblenden des Dropdown-Menüs

<<:  Wählen Sie eine Dropdown-Liste für Webseiten und ein Problem mit der Abdeckung der Div-Ebene aus.

>>:  So legen Sie mit CSS eine Hintergrundunschärfe fest

Artikel empfehlen

Detaillierte Erklärung des Parameters slave_exec_mode in MySQL

Heute habe ich zufällig den Parameter slave_exec_...

Beispielanalyse der drei Verbindungsmethoden für virtuelle VMware-Maschinen

NAT Auf diese Weise wird die Netzwerkkarte der vi...

Der vollständige Implementierungsprozess von Sudoku mit JavaScript

Inhaltsverzeichnis Vorwort So lösen Sie Sudoku Fü...

So stellen Sie HTTPS kostenlos auf Tencent Cloud bereit

Als ich kürzlich ein WeChat-Applet schrieb, erfor...

Erstellen Sie ein Docker-Image mit Dockerfile

Inhaltsverzeichnis Erstellen Sie ein Docker-Image...

Beispiel, wie nginx dynamische und statische Trennung implementiert

Inhaltsverzeichnis Stellen Sie nginx auf Server1 ...