JavaScript/CSS Tab-Menü mit Sub-Navigation (3 / 4 schritt)


Schritt 3: Das JavaScript

Jetzt gehen wir zu den JavaScript-Code, mit denen die ein- und Ausblenden von unserem Untermenüpunkte gesteuert wird. Wir wollen die Items in unserem Untermenü ändern auf Mausklick, basierend auf der Registerkarte "Elternteil" geklickt wurde.

Zunächst beginnen wir durch das Schreiben einer Funktion um alle Menüelemente in unserer "SubNav" Container auszublenden.

Die unter Funktion ruft eine Liste aller UL-Elemente innerhalb der SubNav-ID, dann durchläuft in dieser Liste und setzt jedes Element Display-Eigenschaft auf 'none'

 function hideItems() { var list = document.getElementById("subNav").getElementsByTagName("ul"); for(i=0;i<list.length;i++) { list[i].style.display="none"; }} 

Okay, jetzt fangen wir schreiben die Funktion, um die Untermenüpunkte angezeigt.

 function navMenu() { if (!document.getElementsByTagName){ return; } var anchors = document.getElementsByTagName('a'); 

Die erste Zeile unserer Funktion ist eine fehlersichere, die einfach den Browser weist an dem Link zu folgen, wenn es die "GetElementsByTagName" Funktion nicht unterstützt.

Die zweite Zeile, vergleichbar mit der Funktion oben, ruft eine Liste aller Links und setzt sie in ein Array namens "Anker"

 for (var i=0; i<anchors.length; i++){ var anchor = anchors[i]; var relAttribute = String(anchor.getAttribute('rel')); 

Jetzt starten wir unsere "Anker"-Array durchlaufen. Wir greifen hier, den Wert des Attributs "Rel" für jeden Link, wie wir zu ihm kommen.

 if (relAttribute.toLowerCase().match('menutrigger')){ anchor.onclick = function() { 

Nun überprüfen wir, ob diese "Rel" Wert (die wir als "Relattribute" gespeichert) "Menutrigger" entspricht und also, wir gehen auf unsere auf Click-Ereignis auszulösen.

 var nameAttribute = this.getAttribute('name') + "Nav"; var thismenu = document.getElementById(nameAttribute); hideItems(); thismenu.style.display="inline"; return false; } } }} 

Zuerst fügen wir den Text "Nav" bis zum Ende des Link Attribut "Name". Jetzt entspricht unsere neuen NameAttribute-Wert dem Namen des Sub-Nav-Menüs, die wir beeinflussen können!

Also wir greifen das Untermenü "und die"Thismenu"Variable zuweisen.

Jetzt verstecken wir alle unsere vorher angezeigten Untermenüs durch Aufrufen der "hideItems()"-Funktion, die wir zuvor erstellt.

Anschließend legen wir die aktuellen Untermenü Display-Eigenschaft auf 'Inline' um es sichtbar zu machen.

Schließlich geben Sie dem Browser nicht auf den Hauptmenü-Link folgen (die wir gerade geklickt) und schließen Sie alle unseren offenen Klammern.

In Verbindung stehende Artikel

Batch-Menü mit Log-in-System

Batch-Menü mit Log-in-System

Was ist los Jungs? Seine Candycane und ich wollte euch mein Menü mit Log-in ein Arbeitssystem zeigen. Das hat voll Funktionen aber der Hauptgrund, warum ich bin diese Datei aufstellen ist, so können euch bearbeiten und mit ihm spielen, aber wie Sie w
Bestellung per Touchscreen-Menü mit Makey Makey

Bestellung per Touchscreen-Menü mit Makey Makey

Dies veranschaulicht die Verwendung eines einfachen Bleistift gezeichnete Menüs um eine Bestellung von Touch-Restaurant-Menü zu erstellen. Das Projekt entstand im Space Maker der Omaha-Maker-Gruppe. Das Menüprogramm Bestellung wurde vom MIT Scratch 2
Gewusst wie: Erstellen von benutzerdefinierten CSS3 Dropdown-Menüs: CSS Dropdown-Tutorial für Anfänger

Gewusst wie: Erstellen von benutzerdefinierten CSS3 Dropdown-Menüs: CSS Dropdown-Tutorial für Anfänger

sind Sie es leid, Ihre Abhängigkeit von JavaScript? Oder sind Sie eine neue Web-Entwickler, der nicht, eine dritte Sprache zusammen mit HTML und CSS Programmierung anzugehen will? Dann kein Grund zur Sorge mehr, da seit der Einführung von CSS3 Sie nu
Erstellen einer Android app mit ionischen

Erstellen einer Android app mit ionischen

Ionic ist ein Framework schreiben apps für fast alle Plattformen extrem einfach macht. Wenn Sie ein wenig Css, Js und HTML-wissen können Sie erstellen eine Android / iOS oder Windows-app.Diese instructable konzentriert sich auf eine Android-app auf e
Erstellen ein Adressbuch mit Microsoft Access

Erstellen ein Adressbuch mit Microsoft Access

für diese Anleitung werden wir Microsoft Access 2010 verwenden, um ein Adressbuch zu erstellen und erkunden die verschiedenen Funktionen von Access.Sie benötigen: einen PC mit Microsoft Access 2010Schritt 1: Erstellen einer Datenbank 1. Klicken Sie a
Platzieren Sie Ihr Unternehmen mit plattformübergreifenden Webanwendungen

Platzieren Sie Ihr Unternehmen mit plattformübergreifenden Webanwendungen

vor kurzem fand ich eine Website, können Sie eine iPhone WebApp zu machen, die auf der Homepage hinzugefügt werden können und das Look And Feel einer gewöhnlichen App.Mit diesem Service können Sie eine Iphone-app ohne Mac oder Sdk erstellen.Mit diese
Bauen Sie ein Tricopter mit Rotor Bits

Bauen Sie ein Tricopter mit Rotor Bits

Diese Instructable lernen Sie wie man ein Tricopter mit Rotor Bits zu bauen. Diese Instructable enthält auch theoretischen Diskussionen, Tipps, Tricks und andere Informationen, die ich hoffentlich erhalten Sie auch auf Ihrem Weg zu einem Tricopter Ex
Machen eine 3D print von einem realen Objekt mit 123D Catch und Meshmixer

Machen eine 3D print von einem realen Objekt mit 123D Catch und Meshmixer

Hi alle!In diesem instructable, ich werde Ihnen zeigen (ausführlich) wie zu einem machen eine Kopie eines realen Objekts, 3D-Druck beginnend mit mit 123D Catch, verfeinert mit Meshmixer, und dann drucken mit einem Makerbot (oder andere 3D-Drucker) er
Einfache drahtlose Temperatursensor Aktualisierung Website mit elektrischen Imp und Thermistor

Einfache drahtlose Temperatursensor Aktualisierung Website mit elektrischen Imp und Thermistor

[Edit 2014] Der Planer, der durch elektrische Imp verwendet wurde ist nicht mehr verwendet und kann nicht mehr. [Menüs]Dies ist ein kleines Projekt um Ihnen den Einstieg mit der elektrischen Imp und eines Thermistors so du siehst, wie man Temperaturm
Eine 3D angepasst Tapete mit freier Software zu machen

Eine 3D angepasst Tapete mit freier Software zu machen

Die neuesten Heilmittel für Ihr verlorenes Handy ist endlich da! (in 3d)Tag zusammen! Wir schaffen maßgeschneiderte 3d Wallpaper.Wozu eine individuelle Tapete?Ich vergesse immer mein Handy in der Schule (stumm-_-), aber danke für meine persönliche Ta
Machen Sie mehr aus Tinkerplay mit Meshmixer und 123D

Machen Sie mehr aus Tinkerplay mit Meshmixer und 123D

Tinkerplay (früher bekannt als Modio) ist eine große mobile app, mit der Sie artikulierte Kreaturen zu entwerfen und stellen sie auf einem 3D Drucker. Es ist eine Menge Spaß auf iOS und Android, und ziemlich viel garantiert hervorragende Ergebnisse.J
Ember Drucker: Mit Pattern-Modus für feinere Details

Ember Drucker: Mit Pattern-Modus für feinere Details

Standardmäßig verwendet der Ember-3D-Drucker seinen Projektor im "video-Modus", in dem Projektor Tiefpass-Filter Ihre Schnittbilder und resamples, um die 45 °-Ausrichtung der Spiegel in seiner DMD (Digital Micromirror Device) beherbergen. Dies f
Post-Processing mit einem GeoExplorer3 GPS-

Post-Processing mit einem GeoExplorer3 GPS-

sammeln mit jeder Einheit Global Positioning System (GPS) nützlich und interessant sein kann. Die meisten Menschen zu begegnen, GPS-Geräte schließlich die Datenerfassung und Verarbeitung ist abgeschlossen. Wir sind hier, um Ihnen die Anfangsphase des
Machen eine einfache Anwendung mit der Win32-API

Machen eine einfache Anwendung mit der Win32-API

oft der einfachste Weg zu lernen, wie man eine Programmierschnittstelle verwenden ist durch Codierung ein einfaches Beispiel. In diesem Fall werden wir die Win32-API lernen durch die Programmierung eines einfachen ganzzahligen Rechners mit Hilfe von