Menü in Javascript entwerfen

November 24

JavaScript ist eine Web-Sprache, die in allen gängigen Browsern, die Sie verwenden können, um Ihre Web-Seiten, viele nette Tricks tun machen integriert. Gestaltung einer Website Navigations-Menü ist eine der häufigsten Dinge, die Sie, JavaScript verwenden können um zu tun, und da es relativ einfach ist zu tun, es ist eine gängige Methode für Anfänger, die Sprache zu lernen. Wenn Sie bereits mit HTML und CSS vertraut sind, finden Sie, dass es einfach zu JavaScript in den Code einfügen und saubere, standardkonforme Seiten erstellen.

Gründung der JavaScript-Menü-Design

JavaScript-Menü-Design verwendet zwei einfache Tools: \"onmouseover,\" die löst ein Ereignis geschieht, wenn Sie Ihre Maus über etwas, und \"onmouseout,\" was löst ein Ereignis passiert, wenn Ihre Maus anderswo geht.

Nehmen wir an wir haben ein Navigations-Menü oben auf unserer Seite mit zwei Elementen, \"About\" und \"Topics.\" Wenn jemand entweder Element in der Liste befindet, wir wollen ein Untermenü zu pop-up unter Weitere Optionen auflisten. So wir zwei Funktionen zu erstellen müssen: ein, das ein Menü unterhalb jedes Element mit \"onmouseover,\ erscheinen erlaubt" und eine, die das Menü verschwindet mit \"onmouseout.\ ermöglicht"

Hierzu benötigen wir den folgenden JavaScript-Code in den < Head >-Abschnitt der Seite hinzufügen:

< Skript Typ = \ "Text/Javascript\" ><! [CDATA [

Funktion hide(menu) {}Var menuStyle=document.getElementById (Menü) KlassenauswahlenGEHENmenuStyle.display=\"none\"GEHEN}

Funktion show(menu) {}Var menuStyle=document.getElementById (Menü) KlassenauswahlenGEHENmenuStyle.display=\"block\"GEHEN}

[]] >< / script >

Die ersten beiden Zeilen und die letzten beiden Zeilen erklären nur, dass der Abschnitt Ihres Dokuments dazwischen JavaScript verwenden werden. Der Code dazwischen erstellt zwei Funktionen aufgerufen \"hide\" und \"show.\" jede Funktion erstellt zunächst eine Variable namens \"menuStyle,\" die erkennt ein Menü seine ID und dann ändert den Stil dieses Menüs zur Anzeige festlegen = \ "None\" oder display=\"block.\" Es ist OK, wenn es nicht ganz klar noch; Sobald Sie es in Aktion sehen, werden Sie in der Lage, es besser zu verstehen.

Sie müssen auch eine andere wenig JavaScript hinzufügen, am Ende Ihrer Seiten vor dem schließenden < / body >-Tag, die verhindert, dass die Untermenüs auf der Seite standardmäßig angezeigt:

< Skript Typ = \ "Text/Javascript\" ><! [CDATA [Hide('submenu-1')GEHENHide('submenu-2')GEHEN[]] >< / script >

Dabei wird die \"hide\ verwendet" Funktion, die Sie gerade erstellt jedes Untermenü ausblenden. In diesem Beispiel \"submenu-1\" und \"submenu-2\" sind die IDs der einzelnen Untermenü.

Umsetzung in HTML

Nun, da die JavaScript-Stiftung eingerichtet ist, müssen Sie eigentlich in Ihrem HTML-Code zu aktivieren. Erstellen Sie zuerst Ihre HTML-Menü-System. Der sauberste Weg, dies zu tun ist mit unsortierte Links in jeder anderen ähnlichen einzubetten, also:

< Ul >< li > über< Ul >< li >< a Href = \ "#\" > Bio </a >< / li >< li >< a Href = \ "#\" > Kontakt </a >< / li ></li ></ul >

Jetzt können Sie \"onmouseover\ hinzufügen" und \"onmouseout\" auf der obersten Ebene < li > Tags Attribute:

< Ul >< li Onmouseover = \ 'Javascript:show('submenu-1') \' Onmouseout = \ "Javascript:hide('submenu-1') \" > über< Ul >< li >< a Href = \ "#\" > Bio </a >< / li >< li >< a Href = \ "#\" > Kontakt </a >< / li ></li ></ul >

Dies bedeutet ist, dass wenn jemand über \"About,\ schwebt" Ihre \"show\" Funktion bewirkt, dass das Untermenü unterhalb angezeigt werden. Wenn die Maus bewegt sich weg von \"About,\" Ihre \"hide\" Funktion bewirkt, dass das Untermenü zu verschwinden.

Alles zusammen

Nun, da Sie das Design verfügen, müssen Sie kleben sie innerhalb eines vollständigen Dokuments und das Design mit einigen CSS Fichte, damit alles richtig angezeigt. Im folgende Beispiel wird eine vollständige Seite, die arbeitet als gültiges XHTML Strict-Code und einige grundlegende CSS-styling verwendet. Fügen Sie ihn in einem Text-Editor, speichern Sie es als HTML-Datei und öffnen Sie es in einem Webbrowser, um die Ergebnisse anzuzeigen. Nehmen Sie Änderungen an der CSS, wie Sie es für richtig halten, und Sie versuchen, eine andere Option im Menü und Untermenü.

<! DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict / / EN\" \ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd \ & Quot; >< html Xmlns = \ "http://www.w3.org/1999/xhtml \ & Quot; Dir = \ "Ltr\" Lang = \ "de-US\" >

< Head >< Meta http-Equiv = \ "Content-Type\" Inhalt = \ "Text/html; Charset = UTF-8\ "/ >< Title > JavaScript Beispielmenü < / title >

< Stil Typ = \ "Text/Css\" >

Körper {}Schriftart-Familie: Georgia, serifenloseGEHEN}

ein {}Farbe: #FF3A00GEHENText-Decoration: noneGEHEN}

a: hover {}Text-Decoration: UnderlineGEHEN}

UL {}List-Style-Type: noneGEHENMargin: 0GEHENPadding: 10pxGEHEN}

Li {}Float: leftGEHENPadding: 10pxGEHENBorder: 1px solid #dddGEHENRand Links:-1pxGEHEN}

li Ul {}Position: absoluteGEHENMargin: 10px-11pxGEHENBorder: 1px solid #dddGEHEN}

Li li {}Schwimmen: keineGEHENMargin: 5px 0GEHENklar: beideGEHENGrenze: 0GEHEN}

< / style >

< Skript Typ = \ "Text/Javascript\" ><! [CDATA [

Funktion hide(menu) {}Var menuStyle=document.getElementById (Menü) KlassenauswahlenGEHENmenuStyle.display=\"none\"GEHEN}

Funktion show(menu) {}Var menuStyle=document.getElementById (Menü) KlassenauswahlenGEHENmenuStyle.display=\"block\"GEHEN}

[]] >< / script >

< / head >

< Körper >

< Ul >

< li Onmouseover = \ 'Javascript:show('submenu-1') \' Onmouseout = \ "Javascript:hide('submenu-1') \" >Über< Ul Id = \ "Untermenü-1" >< li >< a Href = \ "#\" > Bio </a >< / li >< li >< a Href = \ "#\" > Kontakt </a >< / li ></ul ></li >

< li Onmouseover = \ 'Javascript:show('submenu-2') \' Onmouseout = \ "Javascript:hide('submenu-2') \" >Themen< Ul Id = \ "Untermenü-2\" >< li >< a Href = \ "#\" > </a >< / li > Filme< li >< a Href = \ "#\" > TV </a >< / li >< li >< a Href = \ "#\" > Musik </a >< / li >< li >< a Href = \ "#\" > </a >< / li > Theater</ul ></li >

</ul >

< Skript Typ = \ "Text/Javascript\" ><! [CDATA [Hide('submenu-1')GEHENHide('submenu-2')GEHEN[]] >< / script >

< / body >

< / html >