Hallo Wolfgang,
und los gehts:
Als erstes: diese Menüs können, sparsam eingesetzt, wirklich nett sein. Aber beachte bitte, sie funktionieren meist nur "100%" mit einen der beiden großen Browsern, meistens ab der vierer-Version, und nur bei eingeschalteten Javascript beim Besucher. Je nach Zielgruppe Deiner Seiten solltest Du also noch ein alternatives Menü anbieten....
Und Grundsätzliches: für einen "Anfänger" ist es nicht ganz leicht, so ein Menü nachzubauen. Sicherlich ist es eine nette Aufgabe und wird Dich auch schulen und das Ergebnis wird nett: aber vielleicht möchtest Du ja eher das Menü haben" als es neu zu erfinden. Ich habe mich mal umgesehen und folgendes gefunden:
unter:
http://www.bratta.com/dhtml/scripts.asp
kommst Du zu einr DHTML-Seite. Klicke oben im obersten Menü auf "Scripts" und in dieser nun erscheinenden Liste auf "CoolMenus2".... und jetzt noch einmal im Text auf "Tutorial".... das Script sollte Dein Herz erfreuen. Sorry, ich habe mich nicht danach erkundigt, ob das Script frei ist, aber die Seite roch nach Freeware (bitte prüfen)
Wenn Du direkt ein Beispiel dieses Scripts sehen willst:
http://www.bratta.com/dhtml/howtos/coolmenus/example4.html
das Script schein sehr weitreichend konfegurierbar zu sein. (siehe die anderen Beispiele....)
------
und jetzt die Technik (wie ich es machen würde)im (aller)groben: Mittels Div (beim IE) und Layer (beim NS) kann man (in Verbindung mit CSS) Seiteninhalte pixelgenau auf den Bildschirm positionieren. Im JS-Programm werden jetzt alle Menüpunkte (und deren "Inhalte", also Sprungziele) in einer Feldvariabel gespeichert. Jetzt wird per JS die Mausbewegung beobachtet. Befindet sich die Maus über dem "Gebiet" (Div oder Layer), in dem das oberste Menü liegt, wird ein weiterer Layer-Div an einer festen Position eingeblendet. In diesem steht dann das Untermenü. Es ist also eine große Layer - auf und zuklapp- Funktion, kombiniert mit der Mausüberwachung. Um das nachzugestalten, must Du Dich also im SELFHTML für Layer und Divs (und deren pixelganeuen Positionierung) interesieren, und für die Möglichkeiten der Mausüberwachung. Da dies beides Gebiete sind, bei denen die beiden großen Browser zum Teil total unterschiedlich funktionieren, brauchst Du zum teil verschiedene Routinen.
Fang klein an. Positioniere einfach mal ein in ein Div bzw Layer (Div-Layer) gepacktes Wort (Menu) mitten auf den Bildschirm. Jetzt schreibe eine Maus-Überwachungsroutine, die zum Beispiel beim überfahren des Div-Layers (also des Wortes) ein alert ausgibt. Wenn das funktioniert, dann ersetze das alert durch eine "zweites-Div-Layer"-erschein-Routine. Also eine Funktion, die auf Wunsch ein Div-Layer an einer von Dir gewünschten Position erscheinen läst. In diesem zweiten Div-Layer steht das Wort Untermenü. Wenn Du es jetzt noch schaffst, beim verlassen des ersten Divs-Layer das zweite Div-Layer wieder verschwinden zu lassen hast Dus fast geschaft. Mach aus dem Inhalt des zweiten Divs-Layers (also aus dem Wort "Untermenü) einen Link, und Du kannst Dein Programm immer weiter ausbauen.
Der nächste Schritt wäre für mich, diese "Layer-Div" Inhalte (also hier die Wörter Menü und Untermenü) durch Variabeln zu ersetzen die ich dann an prominenter Stelle bestücken kann. Auch die durch CSS angegebenen Positionen würde ich mit variabel bschreiben.
---
es gibt warscheinlich noch andere Ansätze fü diese Menü, so würde ich es haltangehen....
es ist aber auch keine Schande, fertige Routinen zu benutzen! Vielleicht ist ja auch "uns" der Inhalt Deiner Seiten wichtiger als Deine JS-Fähigkeiten ;-)
Chräcker