Mit Javascript 2 Frames gleichzeitig öffnen

Liebe/-r Experte/-in,

ein großes bekanntes Anfängerproblem für mich - und hoffentlich eine Kleinigkeit für Sie :smile:

ich programmiere momentan eine neue Homepage über html. Die Seite ist in 9 Frames aufgeteilt: oben 3, Mitte 3, Unten 3. Mitte Links ist das Inhaltsverzeichnis (Frame_4). Dies habe ich über ein Java Script so programmiert, dass beim draufklicken die Untermenüs aufklappen bzw. wieder zuklappen. Nun will ich natürlich auch, dass sich gleichzeitig im Hauptfenster (Frame_5) die Seite ändert.
Beispiel: Klicke ich im Menü auf top-aktiv, soll das Untermenü aufgehen und gleichzeitig die Seite 5000_top_aktiv.htm im Frame_5 erscheinen.

Im Internet habe ich dazu 2 Lösungen gefunden, allerdings funktioniert es einfach nicht, bzw. man sollte wissen, was wo an welche Stelle und vor allem wie erscheinen soll.

Über Hilfe wäre ich sehr dankbar.
Hier noch der HTML Code:

display
<!–
function show1() {
if(document.getElementById) document.getElementById(„ve1“).style.display = „inline“;
if(document.getElementById) document.getElementById(„da1“).style.display = „none“;
if(document.getElementById) document.getElementById(„nd1“).style.display = „inline“;
}

function weg1() {
if(document.getElementById) document.getElementById(„ve1“).style.display = „none“;
if(document.getElementById) document.getElementById(„da1“).style.display = „inline“;
if(document.getElementById) document.getElementById(„nd1“).style.display = „none“;
}

function show2() {
if(document.getElementById)document.getElementById(„ve2“).style.display = „inline“;
if(document.getElementById) document.getElementById(„da2“).style.display = „none“;
if(document.getElementById) document.getElementById(„nd2“).style.display = „inline“;
}

function weg2() {
if(document.getElementById) document.getElementById(„ve2“).style.display = „none“;
if(document.getElementById) document.getElementById(„da2“).style.display = „inline“;
if(document.getElementById) document.getElementById(„nd2“).style.display = „none“;
}

function show3() {
if(document.getElementById)document.getElementById(„ve3“).style.display = „inline“;
if(document.getElementById) document.getElementById(„da3“).style.display = „none“;
if(document.getElementById) document.getElementById(„nd3“).style.display = „inline“;
}

function weg3() {
if(document.getElementById) document.getElementById(„ve3“).style.display = „none“;
if(document.getElementById) document.getElementById(„da3“).style.display = „inline“;
if(document.getElementById) document.getElementById(„nd3“).style.display = „none“;
}

function show4() {
if(document.getElementById)document.getElementById(„ve4“).style.display = „inline“;
if(document.getElementById) document.getElementById(„da4“).style.display = „none“;
if(document.getElementById) document.getElementById(„nd4“).style.display = „inline“;
}

function weg4() {
if(document.getElementById) document.getElementById(„ve4“).style.display = „none“;
if(document.getElementById) document.getElementById(„da4“).style.display = „inline“;
if(document.getElementById) document.getElementById(„nd4“).style.display = „none“;
}

function show5() {
if(document.getElementById)document.getElementById(„ve5“).style.display = „inline“;
if(document.getElementById) document.getElementById(„da5“).style.display = „none“;
if(document.getElementById) document.getElementById(„nd5“).style.display = „inline“;
}

function weg5() {
if(document.getElementById) document.getElementById(„ve5“).style.display = „none“;
if(document.getElementById) document.getElementById(„da5“).style.display = „inline“;
if(document.getElementById) document.getElementById(„nd5“).style.display = „none“;
}
function show6() {
if(document.getElementById)document.getElementById(„ve6“).style.display = „inline“;
if(document.getElementById) document.getElementById(„da6“).style.display = „none“;
if(document.getElementById) document.getElementById(„nd6“).style.display = „inline“;
}

function weg6() {
if(document.getElementById) document.getElementById(„ve6“).style.display = „none“;
if(document.getElementById) document.getElementById(„da6“).style.display = „inline“;
if(document.getElementById) document.getElementById(„nd6“).style.display = „none“;
}
//–>

[
top:aktiv](javascript:show1())[top:aktiv](javascript:weg1())

Wer wir sind

Ziele

Öffnungszeiten

Preise

Mitglied werden

[
Termine](javascript:show2())[Termine](javascript:weg2())

Aktuelles

[
Hochseilgarten](javascript:show3())[Hochseilgarten](javascript:weg3())

Postmanwalk

Hohes V

Jakobsleiter

Sprung

Kletterbaum

Kistenstapeln

[
Erlebnisgarten](javascript:show4())[Erlebnisgarten](javascript:weg4())

Balkensteg

Spinnennetz

Vertrauensfall

Teamwaage

Moorpfad

Laufendes A

Labyrinth

Blinde Maus

Balance Akt

Endlosleiter

[
Bilder](javascript:show5())[Bilder](javascript:weg5())

2009
2010

[
Kontakt](javascript:show6())[Kontakt](javascript:weg6())

Wer ist Wer?

Impressum

Hallo,

für das Problem mit den zwei Frames sollte das hier helfen: http://de.selfhtml.org/javascript/beispiele/zweifram…

Grundsätzlich sollte man das Design und vor allem die Benamung der Javascript-Methoden überdenken, auch in Bezug auf Les-, Erweiter- und Wartbarkeit.

Andreas

Hallo,

danke für die schnelle Antwort. Allerdings hat mir genau diese Seite nicht weitergeholfen. Habe es nach diesem Schema probiert, aber irgendwie funktioniert es nicht, vielleicht liegt es an dem Problem, dass das andere Java Script aus mehreren Teilen besteht, bzw. ich einfach nicht weiß, wo was an welcher Stelle hin muss…

Wie gessagt, bin absoluter Anfänger, was Java betrifft…
Gruß
Gerd

Hallo,

leider habe ich keine Ahnung, was genau nicht funktioniert bzw. von welche Seite ist der Quellcode?

Um bspw. mit der Methode show1 eine Seite in einem anderen Frame zu laden, muss man nur die Zeile

parent[‚Frame_5‘].location.href = ‚http://www.spiegel.de‘;

einfügen. Damit werden erstmal die Elemente angezeigt (Menü) und im Frame Frame_5 die Seite www.spiegel.de geladen.

Ich kann auch die Seite http://de.selfhtml.org nur wärmstens empfehlen, wenn man sich ernsthaft mit HTML beschäftigen möchte.

Gruß Andreas

Hallo,

danke für die Antwort,
der Quellcode ist von meiner Seite, den ich geschrieben habe.
Dennoch ist genau das mein Problem. Mit selfhtml habe ich zwar die richtigen Codes herausgefunden, jedoch weiß ich nach wie vor nicht, an welcher Stelle genau was stehen muss.
Wie ich geschrieben habe, soll in Frame_5 dann die Seite 5000_top_aktiv.htm erscheinen und gleichzeitig in Frame_4 javascript:show1() geöffnet werden.
Und was muss dann im Head stehen?
Für eine Antwort wäre ich Ihnen sehr dankbar!
Hier nochmals der Auszug aus dem Body:

[
top:aktiv](javascript:show1())[top:aktiv](javascript:weg1())

Wer wir sind

Ziele

Öffnungszeiten

Preise

Mitglied werden

Gruß
Gerd RUoß

Hallo,

ok, jetzt verstehe ich das Problem. Aus einem Frame soll eine Seite in einem andern Frame geladen werden und in einem weiteren Frame eine JavaScript-Funktion aufgerufen werden. Ich bin mir nicht sicher, ob man ein Javascript auf einer anderen Seite aufrufen kann.

Gruß Andreas

Hallo Herr Ruoß,
sie müssen einen Bereich festlehgen, im dem der gewählte Inhalt angezeigt werden soll.
dazu gibts zwei Mögichkeiten
1.) klassisches Framework, ist mir persönlich zu unhandlich, 0der
2)iframe, dieser kann, ähnlich wie ein DIV-Objekt positioniert werden mit Angabe der Position und Grösse
Beispiel:

Diese Zeile fügen Sie vor dem body-Endetag ein.
Als Startseite nehmen sie ihre Welcomeseite

sodann müssen Sie in ihre Scripte den Aufruf einfügen:
document.getElementById(„ve4“).src=„seite_x.html“
z.B. seite_3.html für Hochseilgarten.
Die Inhalteseiten müssen natürlich zuvor angelegt werden und im selben Ordner bereitstehen. Unterordner sind auch möglich, müssen dann halt auch im Aufruf angegeben werden, z.B „./ordener/seite_3.html“

Hoffe, sie kommen mit meinen Ausführungen klar, ansonsten schreiben Sie einfach an meine adresse [email protected]

Mit freunmdlichen grüssen
Reinhold gross