"parent" bei verschachtelten Frames?
Thomas
- javascript
0 Thiemo Mättig0 Struppi0 KD-one0 KD-one
Hallo!
Ich hab eine HP als Frameset aufgebaut (3 Zeilen - oben, mitte, unten).
Im oberen Frame ist das Hauptmenü, welches die Unterseiten im mittleren Frame öffnet. Hier habe ich einen kleinen JS-Bildwechsler drinnen.
Die Contentseiten im mittleren Frame sind wiederum Framesets (3 Spalten - links, rechts, mitte).
Nun kann es sein, dass ich in einer Unterseite einen Link habe, der mit einem Hauptmenü identisch ist.
zB. Ich hab oben die Bereiche "About me" und "Service". Wenn ich in ersterer Rubrik bin, kann ich von dort auch per Direktlink in den Bereich "Service" gelangen. Nun möchte ich bei diesem Link natürlich, dass der Bilderwechsler im Hauptmenü mitgeht.
Deshalb lass ich da per onClick folgendes ausführen:
onClick="parent.topmenu.Bildwechsel(17,Highlight1);"
Leider scheint das nicht zu funktionieren, jedenfalls passiert im Hauptmenü nichts, nicht mal eine Fehlermeldung erscheint ;o(
Weiss jemand, was ich hier falsch mache?
lg, Thomas
Schalte im IE das Skriptdebugging und die Skriptfehlermeldungen ein. Probier mal, was bei onclick="alert(parent.topmenu)" und bei onclick="alert(parent.topmenu.Bildwechsel)" passiert. Beu in deine Bildwechsel-Funktion ein alert(...) ein, um zu sehen, ob der Code überhaupt ausgeführt wird.
Im Endeffekt bleibt dir also nur rumprobieren ...
Deshalb lass ich da per onClick folgendes ausführen:
onClick="parent.topmenu.Bildwechsel(17,Highlight1);"
Leider scheint das nicht zu funktionieren, jedenfalls passiert im Hauptmenü nichts, nicht mal eine Fehlermeldung erscheint ;o(
Das glaub ich nicht. Schau mal in die Javascript Konsole von Mozilla.
parent ist das Fenster, in dem das Frameset drin steht, d.h. in der Datei, in der du <frameset .... </frameset> definiert hast, muss das Frame 'topmenu' existieren und in diesem die Funktion 'Bildwechsel()' und selbst wenn dies schon richtig wäre, muss zusätzlich in dem Fenster, von dem aus du diese Funktion aufrufst das Objekt/die Variabel 'Highlight1' definiert sein und so wie das vermute ist das nciht der Fall.
Ich kan dir eigentlich nur raten, entweder auf sowas zu verzichten oder das Frameset ganz abzuschaffen, ist sowieso nicht besonders Zeitgemäß http://www.subotnik.net/html/frames.html, oder nochmal gründlich das Kapitel in selfhtml über Frames/windows durchzulesen.
Struppi.
Hallo,
Ich hab eine HP als Frameset aufgebaut (3 Zeilen - oben, mitte, unten).
Im oberen Frame ist das Hauptmenü, welches die Unterseiten im mittleren Frame öffnet. Hier habe ich einen kleinen JS-Bildwechsler drinnen.
Die Contentseiten im mittleren Frame sind wiederum Framesets (3 Spalten - links, rechts, mitte).
Nun kann es sein, dass ich in einer Unterseite einen Link habe, der mit einem Hauptmenü identisch ist.
zB. Ich hab oben die Bereiche "About me" und "Service". Wenn ich in ersterer Rubrik bin, kann ich von dort auch per Direktlink in den Bereich "Service" gelangen. Nun möchte ich bei diesem Link natürlich, dass der Bilderwechsler im Hauptmenü mitgeht.Deshalb lass ich da per onClick folgendes ausführen:
onClick="parent.topmenu.Bildwechsel(17,Highlight1);"
Leider scheint das nicht zu funktionieren, jedenfalls passiert im Hauptmenü nichts, nicht mal eine Fehlermeldung erscheint ;o(
Weiss jemand, was ich hier falsch mache?
Wenn ich dich nun richtig verstanden habe, liegt es am parent.
Versuche mal onClick="top.topmenue.Bildwechsel(17,Highlight1);"
Du scheinst die Hirarchie innerhalb deines Framesets noch nicht ganz begriffen zu haben, deshalb empfehle ich dir diese Seite:
http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/index.htm
Ein excellentes Werk, wenn es um Fensterhirarchie geht,wenn du das gelesen und begriffen hast, wirst du nie wieder Probleme mit einer hirarchischen Frage haben.
Gruß
Kurt
Hallo Thomas,
Wenn ich dich nun richtig verstanden habe, liegt es am parent.
Versuche mal onClick="top.topmenue.Bildwechsel(17,Highlight1);"
Du scheinst die Hirarchie innerhalb deines Framesets noch nicht ganz begriffen zu haben, deshalb empfehle ich dir diese Seite:
http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/index.htm
Ein excellentes Werk, wenn es um Fensterhirarchie geht,wenn du das gelesen und begriffen hast, wirst du nie wieder Probleme mit einer hirarchischen Frage haben.
Alternativ dazu könntest du auch onClick="parent.parent.topmenue.Bildwechsel(17,Highlight1);" anwenden.
Gruß
Kurt