Pull-Down-Menü für Frames
Innerhalb eines Framesets sollen durch eine Auswahl eines Menüpunktes die Inhalte von 2 Frames gleichzeitig ausgetauscht werden.
Der Frameset besteht in diesem Beispiel aus 3 Frames. Die angezeigten Inhalte von 2 Frames möchte ich mittels Pulldownmenü gleichzeitig ändern. Das Pull-Down-Menü seht im Frame 'nav'.
|
Hier ist es notwendig, bei der Definition des Framesets jedem Frame einen Namen zuzuordnen. Mit diesem Namen wird das Objekt "Frame" dann angesprochen.
|
|
Definition des Framesets
Framenamen:
- Frame 1: oben
- Frame 2: nav
- Frame 3: anzeige
Angaben für Scrollbars, Rand und Abstände habe ich hier weggelassen.
<frameset rows="100,*">
<frame name="oben" src="oben1.htm">
<frameset cols="200,*">
<frame name="nav" src="links.htm">
<frame name="anzeige" src="unten1.htm">
</frameset>
</frameset>
In der Navigationsdatei
1) im Head-Bereich
Das Pulldownmenü benötigt ein JavaScript das im Head-Bereich stehen soll. Im Head-Bereich der Navigationsdatei wird das JavaScript hineinkopiert. Script-Code: Siehe Textdatei oben.
Die Funktion checkMenu() innerhalb des Scripts erwartet bei einer Aktion im Pulldownmenü 4 Informationen in genau dieser Reihenfolge:
Framename1, Dateiname1, Framename2, Dateiname2
2) im Body-Bereich
Im Body der Navigationsdatei wird das Formular mit Pulldownmenü notiert. HTML-Code: Siehe Textdatei oben.
Bei einer Änderung der Auswahl (onChange) wird der Wert, bestehend aus 4 Einzelangaben, an die Funktion checkMenu() übergeben. Das wird durch diese Anweisung bewirkt:
<select onChange="checkMenu(this.options[this.selectedIndex].value)">
Der Wert bei der Übergabe (value) enthält 4 Informationen und könnte z.B. so aussehen:
value="'oben','oben1.htm','unten','unten1.htm'"
Die Funktion arbeitet die eingetragenen Anweisungen ab und nutzt die 4 übergebenen Informationen für den Austausch der Dateien in den angegebenen Frams. Hier im Beispiel sind die 4 Einzelangaben farbig gekennzeichnet!
- rot für die Framenamen
- grün für die Dateinamen
value="'oben','oben1.htm','unten','unten1.htm'"
value="'oben','oben2.htm','unten','unten2.htm'"&
|
Sie können mein Beispiel als ZIP-Datei herunterladen und beliebig erweitern.
Da die beiden Angaben für die Framenamen jeweils gleich sind, müssen Sie lediglich die 2 Dateinamen für jede Option neu eintragen.
|
|
|