Pull-Down Menü in unterschielichen Frames (Auslöser und Anzeige)
Marco Breitig
- javascript
Aufgabenstellung:
Ich möchte das Fenster in 2 Frames horizontal unterteilen. Das obere soll verschiedene Wörter enhalten. Fährt man mit der Maus über eines dieser Wörter, so soll im unteren Frame (direkt unter die Wörter) ein jeweiliges Menü eingeblendet werden.
Diese Seite soll mit IE und Netscape funktionieren.
Probleme:
Das Menü muss im Inhaltsframe eingeblendet werden, so muss ich das onMoueseover-Ereignis vom Link-Frame zum Inhaltsframe transverrieren. Benutzt man dazu handleEvent und wie macht man das genau?
Hat jemand einen Link zu diesem Beispiel? Ich habe nur den untenstehenden gefunden. Allerdings befriedigt mich die Lösund noch nicht ganz, die Menüs dürfen nicht so "verrutschen". Aber ich nehme an, daß man die Menüs auch anderes gestalten kann (asolut posisionierter div/layer ein- und ausgeblendet?).
Ich habe zwar das gesammt Forum durchsucht, sollte ich aber trotz allem einen Thread verpasst haben, wo dies alles schon näher erleudert wird, so postet mir bitte einen Link drauf. thx
mfg Marco
PS: Nur für IE5+ oder IE5.5 - relativ neue Navigationsidee: http://www.breitig.de
hallo marco
grundsätzlich: funktionen in andern frames kannst du über parent.framename.funktionsname() aufrufen.
wenn du mit layern erfahrung hast sollte es auch nicht so ein problem sein sie zu positionieren.
beispiel:
<div id="erstes" style="position:absolute; top:20px; left:20px; visibility:hidden; visibility:hide;">text</div>
mach ne funktion im unteren frame
function activate(active) {
erstes.style.visibility = 'hidden';
zweites.style.visibility = 'hidden';
drittes.style.visibility = 'hidden';
objekt = eval(active + '.style');
objekt.visibility = 'visible';
}
ruf diese funktion im oberen frame mit
parent.unteresframe.activate('erstes');
und der layer mit id="erstes" wird sichtbar...
du kannst das jetzt noch ein bissel verbessern...
das verstecken ist sehr inflexibel.. mach da ein array mit allen ids und lass ne schleife laufen...
viel spass ;)
mfg
Siramon
hallo marco
grundsätzlich: funktionen in andern frames kannst du über parent.framename.funktionsname() aufrufen.
wenn du mit layern erfahrung hast sollte es auch nicht so ein problem sein sie zu positionieren.
beispiel:
<div id="erstes" style="position:absolute; top:20px; left:20px; visibility:hidden; visibility:hide;">text</div>
mach ne funktion im unteren frame
function activate(active) {
erstes.style.visibility = 'hidden';
zweites.style.visibility = 'hidden';
drittes.style.visibility = 'hidden';objekt = eval(active + '.style');
objekt.visibility = 'visible';
}
ruf diese funktion im oberen frame mit
parent.unteresframe.activate('erstes');
und der layer mit id="erstes" wird sichtbar...
du kannst das jetzt noch ein bissel verbessern...
das verstecken ist sehr inflexibel.. mach da ein array mit allen ids und lass ne schleife laufen...viel spass ;)
mfg
Siramon
Danke, das wars eigentlich schon. Dann hatte bei mir nur etwas in der feinabstimmung nicht geklappt. Ich werde es gleich mal ausprobieren...