Heim >Web-Frontend >js-Tutorial >Erstellen Sie ein dynamisches Menü im Artikel von JavaScript

Erstellen Sie ein dynamisches Menü im Artikel von JavaScript

Jennifer Aniston
Jennifer AnistonOriginal
2025-03-11 00:05:08124Durchsuche

Erstellen Sie ein dynamisches Menü im Artikel von JavaScript

Hier sprechen wir nicht über DHTML-Dropdown/Pulldown-Menüs. Hier sprechen wir über ein einfaches Navigationsmenü mit JavaScript. Es identifiziert die aktive Seite und zeigt dementsprechend die Verknüpfung von den anderen Links an, wodurch es dem Benutzer einfach ist, zu navigieren. Hier verwenden wir eine einzige .JS -Datei, die für alle Seiten im Navigationsmenü verwendet wird. Sie müssen also nicht alle Seiten aktualisieren: Sie müssen nur eine JavaScript -Bibliotheksdatei (.JS -Datei) aktualisieren. Betrachten Sie beispielsweise diese 3 Navigationslinks: Erstellen Sie ein dynamisches Menü im Artikel von JavaScript Link 1 ist aktiv. Erstellen Sie ein dynamisches Menü im Artikel von JavaScript Link 2 ist aktiv. Erstellen Sie ein dynamisches Menü im Artikel von JavaScript Link 3 ist aktiv. Wie Sie sehen können, sind dies Aufnahmen darüber, wie das Navigationsmenü auf verschiedenen Seiten angezeigt wird, je nachdem, welche Links aktiv sind. Diese Menüs werden von einer einzelnen JavaScript -Datei generiert. Es ist möglich, ein solches Menü mit nur Cascading Style Sheets (CSS) zu erstellen, indem eine Klasse (z. B. .Links) für die Menüs definiert und verschiedene Eigenschaften für .Links: aktiv zugewiesen werden. So können Sie das Menü mit einer CSS -Datei erstellen. Obwohl dies perfekt ist, gibt es hier einen Vorteil, JavaScript hier zu verwenden. Wie Sie in den oben genannten Aufnahmen sehen können, hat der aktive Link am Ende den „» “-Scharakter. Dies wird nur für den aktiven Link erstellt, daher wird es dynamisch erstellt. Mit JavaScript können Sie jedes Zeichen oder ein beliebiges ikonisches Bild verwenden, das den Link wirklich aktiv aussieht.
Implementierung
Um diese Art von Menü zu implementieren, benötigen Sie zunächst eine CSS -Datei, beispielsweise Links_style.css, um die Stile für die Links zu definieren. Als nächstes kommt die JavaScript -Datei nav.js. In der Datei nav.js deklarieren wir zunächst drei Arrays. Ein Array mit dem Namen „Links“ enthält die Namen der Links. Ein weiteres Array heißt "links_text" und besteht aus dem Text der Links (z. B. Link 1). Ersteres wird zum Vergleich mit dieser Datei verwendet. Nennen Sie die verschiedenen Elemente im Links -Array mit den Titeln aus den Linkdateien, ausgenommen die Erweiterung (dh wenn der erste Link Sie zum Index.htm führt, nennen Sie es IT -Index). Das dritte Array mit dem Namen "links_url" enthält die URL, zu der ein Link den Benutzer führt. Wir wollen nun, dass wir jedes Element in den Array -Links mit dem Dateinamen der aktuellen Seite ohne die Erweiterung vergleichen können. Wir werden dem Link dann dem Link einen Stil und egal welches zusätzliche Text oder Bild zuweisen, das Sie dem Link -Text hinzufügen möchten, um die aktive Seite hervorzuheben. Sei loc die Vergleichszeichenfolge. LOC kann als: var loc = String (this.location) gefunden werden; loc = loc.split ("/"); loc = loc [Loc.Length-1] .Split ("."); loc = loc [LOC.Length-2]; Wenn also die aktuelle Seite https://www.sitepoint.com/index.htm ist, ist der LOC index. Jetzt vergleichen wir dies mit jedem Element in den Array -Links. Das erste Element dieses Arrays und Locs ist gleich. Daher schreiben wir diesen Link auf folgende Weise. document.write ('< table onmouseover = "this.classname =' explorer_active '; return true" onmouseout = "this.classname =' explorer_active '; return true" onmouseDown = "this.classname =' explorer_active '; return true true" lact.href = "location '' "> < Tr> < td> < a href =" 'links_url [i]' "> 'links_text [i]' < b>"/td> < Da die anderen Elemente im Links -Array nicht gleich LOC sind, werden sie als: document.write ('< table onmouseover = "this.classname =' explorer_over '; true" onMouseout = "this.classname =' explorer_over '; return true" true "true" true "; onclick="location.href='' links_url[i] ''"> ' links_text[i] ''); Und das ist Ihr dynamisches Menü! Der Code, den Sie auf allen Seiten platzieren müssen, lautet: < script Language = "JavaScript" src = "nav.js"> platzieren Sie diesen Code, wo immer Sie das Navigationsmenü benötigen, um auf der Seite zu erscheinen. Der andere Code, den Sie benötigen, ist < link rel = "stylesheet" href = "links_style.css" />, der in den Abschnitt "Kopf" -Head> Ihrer HTML -Seite "platziert werden muss. Daher ist die Auflistung von 1 nav.js: / * die Linkdetails * / var links = new Array ("link1", "link2", "link3"); var links_text = new Array ("Link 1", "Link 2", "Link 3"); var links_url = new Array ("link1.htm", "link2.htm", "link3.htm"); / * Lösen Sie den Speicherort */ var loc = String (this.location); loc = loc.split ("/"); loc = loc [Loc.Length-1] .Split ("."); loc = loc [LOC.Length-2]; / * Menügenerierungsfunktion */ Funktion dyn_menu_gen () {für (var i = 0; i < links.length; i) {if (loc == links [i]) {document.write ('< table onmouseover = "this.classname =' explorer_active '; onmouseDown = "this.className = 'explorer_active'; return true" onclick = "location.href = '' links_url [i] ''"> < Tr> < td> < a href = "links_url [i] '' '' '' '' '' '' '' '' '' < b> » '); } else {document.write ('< table onmouseover = "this. className =' explorer_over '; return true" onmouseout = "this.classname =' explorer '; return true" onmousedown = "this.classname =' explorer_down '; '' "> < tr> < td> < a href =" 'links_url [i]' "> 'links_text [i]' ); } document.write ('< table Cellspacing = "0" cellpadding = "0" bgcolor = "#ffffff"> < tr> < td> '); }} / * Generieren Sie das Menü * / dyn_menu_gen (); Listing 2, links_style.css ist: .explorer {Schriftfamilie: Verdana, Arial, Helvetica; Schriftgröße: 8pt; Schriftgewicht: normal; Textdekoration: Keine; Farbe:#000000; Hintergrund:#b5d0ff; Cursor: Hand; Breite: 150px; Höhe: 30px; Grenze: 1 Solid #a6c0ed} .explorer_over {Schriftfamilie: Verdana, Arial, Helvetica; Schriftgröße: 8pt; Schriftgewicht: normal; Textdekoration: Keine; Farbe:#000000; Hintergrund:#a7c0eb; Cursor: Hand; Breite: 150px; Höhe: 30px; Grenzrechte: 1 Solid #5c6980; Grenzboden: 1 Solid #5c6980; Border-Links: 1 Solid #b8d3ff; Border-Top: 1 Solid #b8d3ff} .explorer_down {Schriftfamilie: Verdana, Arial, Helvetica; Schriftgröße: 8pt; Schriftgewicht: normal; Textdekoration: Keine; Farbe:#000000; Hintergrund:#a7c0eb; Cursor: Hand; Breite: 150px; Höhe: 30px; Border-Links: 1 Solid #5c6980; Grenze: 1 Feststoff #5c6980; Grenzrechte: 1 Solid #b8d3ff; Border-Bottom: 1 Solid #b8d3ff} .explorer_active {Schriftfamilie: Verdana, Arial, Helvetica; Schriftgröße: 8pt; Schriftgewicht: normal; Textdekoration: Keine; Farbe:#000000; Hintergrund: #ffffff; Cursor: Hand; Breite: 150px; Höhe: 30px} .Menu {Schriftfamilie: Verdana, Arial, Helvetica; Schriftgröße: 8pt; Schriftgewicht: normal; Textdekoration: Keine; Farbe:#000000} Ich hoffe, dieses Skript vereinfacht die Erstellung der dynamischen JavaScript -Navigation für Ihre Webseiten!

häufig gestellte Fragen zum dynamischen Menü in JavaScript

Wie kann ich einem dynamischen Menü in JavaScript ein Untermenü hinzufügen? Sie können die Methode appendChild () verwenden, um dies zu erreichen. Hier ist ein einfaches Beispiel:

var parentMenuitem = document.getElementById ('parentMenuitem');
var submenuitem = document.createelement ('li'); Die ID des Menüelements, zu dem Sie ein Untermenü hinzufügen möchten. 'Submenuitem' ist das neue Submenüelement, das Sie hinzufügen.

Wie kann ich ein Menüelement aus einem dynamischen Menü in JavaScript entfernen? Diese Methode beseitigt einen angegebenen untergeordneten Knoten des angegebenen Elements. Hier ist ein Beispiel:

varmenuitem = document.getElementById ('Menuitem'); Ein Menüelement in einem dynamischen Menü in JavaScript kann mit der Innerhtml -Eigenschaft erfolgen. Hier ist ein Beispiel:

varmenuitem = document.getElementById ('Menuitem'); Dynamisches Menü in JavaScript? Diese Methode erhöht einen Ereignishandler an das angegebene Element. Hier ist ein Beispiel:

varmenuitem = document.getElementById ('Menuitem'); Der Ereignishörer zeigt eine Warnung an, wenn auf das Menüelement geklickt wird. Diese Eigenschaft setzt oder gibt die Stilattribute eines Elements zurück. Hier ist ein Beispiel:

varmenuitem = document.getElementById ('Menuitem');
Menuitem.style.color = 'rot'; Die Style -Eigenschaft wird verwendet, um die Farb- und Schriftgröße des Menüelements zu ändern. Hier ist ein Beispiel:

varmenuitems = ['home', 'About', 'contact']; Menuitems [i];
Menü.AppendChild (Menuitem);
}
In diesem Beispiel ist 'Menuitems' ein Array von Menüelement -Texten, und 'Menü' ist die ID des Menüs, zu denen Sie die Menüelemente hinzufügen möchten. Analyse der JSON -Daten und Erstellen eines neuen Menüelements für jedes Objekt in den analysierten Daten. Hier ist ein Beispiel:

var jSondata = '[{"text": "home"}, {"text": "über"}, {"text": "contact"}]'; Menuitems.length; zu. Hier ist ein Beispiel mit der Fetch -API:

fetch ('https://example.com/menuitems')
.then (response => response.json ()
.then (Data => {
var mus.document.getElementById ('Menü'; varmenuitem = document.createelement ('li');
Menuitem.innnerHtml = Daten [i] .Text; Erstellen Sie ein dynamisches Dropdown -Menü in JavaScript? Hier ist ein Beispiel:

varmenuitems = ['home', 'About', 'contact']; Menuitems [i];
option.text = Menuitems [i];
DropdownMenu.AppendChild (Option);
}

document.body.Appendchild (DropdownMenu);

Erstellen eines dynamischen Kontextmenüs in JavaScript beinhaltet das Erstellen eines neuen Menüelements und das Hinzufügen von Menüelementen und dann das Menü an der Maus Position, wenn die rechte Maustaste klickt. Hier ist ein Beispiel:

varmenuitems = ['cut', 'copy', 'paste'];
var contextMenu = document.createelement ('ul'); Menuitems.length; contextMenu.AppendChild (Menuitem);
}

document.body.appendchild (contextMenu); contextMenu.style.top = e.pagey 'px';
contextMenu.style.display = 'block'; Array der Kontext -Menüelement -Texte.

Das obige ist der detaillierte Inhalt vonErstellen Sie ein dynamisches Menü im Artikel von JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn