In diesem Artikelbeispiel wird der spezifische JavaScript-Code zur Erzielung des sekundären Menüeffekts zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt Das Wirkungsdiagramm dieser Implementierung ist wie folgt: Die Wirkung dieses sekundären Menüs ist: Beim Anklicken einer Box wird der Inhalt der geöffneten Box eingeklappt und der Inhalt der aktuell angeklickten Box aufgeklappt. Wie also erzielen wir diesen Effekt? Wir können Schritt für Schritt 1. Zuerst müssen wir den gesamten Rahmen anzeigen, das heißt, die Darstellung aller erweiterten Boxen, da die Anzeige/Nichtanzeige mit 2. Beginnen Sie dann mit dem Schreiben des JS-Teils: Stellen Sie sicher, dass sich der Zustand eines Kästchens von geschlossen auf erweitert ändert, wenn darauf geklickt wird. Unsere Box ist span. Wenn wir den gesamten Inhalt des übergeordneten Divs von span anzeigen möchten, müssen wir zuerst alle spans über 3. Dann müssen wir das erweiterte Feld ausblenden, wenn wir auf „Span“ klicken, um ein Feld zu erweitern. Jetzt brauchen wir eine Variable, um das Feld aufzuzeichnen, auf das zuletzt geklickt wurde . Setzen Sie ihren Anfangswert auf null. Wenn „now“ nicht gleich der aktuell angeklickten Spanne ist , holen Sie sich das übergeordnete Feld von „now“, setzen Sie seine Höhe auf die Höhe der Spanne und erweitern Sie dann die aktuell angeklickte Spanne (im zweiten Punkt wurde bereits erklärt, wie man erweitert); wenn „now“ gleich der aktuell angeklickten Spanne ist , holen Sie sich die Höhe des übergeordneten Felds. Wenn sie gleich der Höhe der Spanne ist, setzen Sie ihre Höhe auf den Wert von 4. Stellen Sie einen Timer ein und rufen Sie ihn auf, wenn Sie bereit sind, die Höhe des übergeordneten Felds zu erhöhen oder zu verringern. Wenn die Höhe des übergeordneten Felds die Höhe des Spans oder Der Code lautet wie folgt: <!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <meta http-equiv="X-UA-kompatibel" content="IE=edge"> <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0"> <title>Dokument</title> <Stil> * { Rand: 0; Polsterung: 0; } .container { Breite: 300px; Höhe: 700px; Rand: 100px automatisch; } .container div { Höhe: 43px; Überlauf: versteckt; } .container div span { Breite: 150px; Höhe: 40px; Zeilenhöhe: 40px; Rahmenradius: 15px; Anzeige: Block; Textausrichtung: zentriert; Hintergrundfarbe: rgba(104, 250, 201, 0,849); Cursor: Zeiger; } A { Breite: 150px; Höhe: 40px; Zeilenhöhe: 40px; Textdekoration: keine; Anzeige: Block; Textausrichtung: zentriert; } </Stil> </Kopf> <Text> <div Klasse="Container"> <div id=""> <span id="one">Montag</span> Visualisierung Visualisierung </div> <div id=""> Dienstag <a href="">Algorithmus-Design</a> <a href="">Grafiken</a> <a href="">Design Gruppenkursgestaltung</a> Betriebssystem </div> <div id=""> <span id="three">Donnerstag</span> <a href="">Lage und Politik</a> Betriebssystem </div> <div id=""> <span id="four">Freitag</span> <a href="">Algorithmus-Design</a> </div> </div> <Skript> let menu = document.getElementsByTagName("span"); lass jetzt = null; für (lass i = 0; i < Menü.Länge; i++) { Menü[i].onclick = Funktion () { sei par = Menü[i].parentNode; wenn (jetzt === i) { wenn (par.style.height === "43px") { öffnen(par); } anders { schließen(par); } } anders { wenn (jetzt !== null) { schließen(Menü[jetzt].parentNode); } öffnen(par); jetzt = ich; } } } Funktion öffnen(par) { lass Zeit = setzeIntervall(() => { sei num = par.offsetHeight; wenn (num >= Teil.Scrollhöhe) { Intervall löschen(tem); } par.style.height = num + 1 + "px"; }, 7); } Funktion schließen(par) { lass Zeit = setzeIntervall(() => { sei num = par.offsetHeight; wenn (Zahl <= 43) { Intervall löschen(tem); zurückkehren; } par.style.height = num - 1 + "px"; }, 7); } </Skript> </body> </html> 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:
|
<<: CSS: besuchte geheime Erinnerungen des Pseudoklassenselektors
>>: Schritte zum Erstellen eines Docker-Images mit Dockerfile
Inhaltsverzeichnis 1. Einführung in SELinux 2. Gr...
Angesichts der Tatsache, dass mittlerweile viele M...
In diesem Artikel erfahren Sie mehr über einen pr...
Ich habe zuvor zum Einstieg in UDP ein einfaches ...
Verwenden Sie JS, um ein zufälliges Namensaufrufs...
Als ich kürzlich meinen Computer einschaltete, sa...
In diesem Artikel erfahren Sie, wie Sie die Boots...
Wenn Sie die Größe und Anzahl der InnoDB-Redo-Log...
Wichtige Erkenntnisse: 1. Beherrschung der CSS3-3...
Routenplanung vue-router4 behält den Großteil der...
Vorwort Standardmäßig werden Nginx-Protokolle in ...
Inhaltsverzeichnis Animationsvorschau Andere UI-B...
Viele Konzepte im UI-Design mögen in der Formulie...
Um die Tabelle zu verschönern, können Sie für die...
Die Idee hinter der Verwendung eines Tokens zur L...