Rollover über verschiedene Frames
gabi
- javascript
0 André Laugks0 gabi
0 Mirko Richter
Ich möchte eine Seite mit verschiedensten Rollover-Effekten erstellen, wobei ich mir grundsätzlich einen Frame-Aufbau
vorgestellt habe. Wie kann ich nun die Grafiken der anderen Frames ansprechen, wenn der Framesetaufbau komplexer ist:
Hier der Code für die index-datei
<frameset cols="775,*" framespacing="0" frameborder="0">
<frameset rows="64,*">
<frame name="oben" src="html/oben2.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0">
<frameset cols="202,*" framespacing="0" frameborder="0">
<frameset rows="135,*" framespacing="0" frameborder="0">
<frame name="li_ob" src="html/li_oben.html" marginwidth="0" marginheight="0" scrolling="no" border="0" frameborder="0">
<frame name="li_unt" src="html/li_unten.html" marginwidth="0" marginheight="0" scrolling="no" border="0" frameborder="0">
</frameset>
<frame name="main" src="html/mainw.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0">
</frameset>
<frame name="zero_u" src="html/zero.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" border="0" noresize>
</frameset>
Ich möchte nun bei Rollover einer best. Grafik in oben2.html eine Grafik in li_oben.html austauschen.
Folgender Aufruf liefert mir Fehler:
top.li_ob.document.images[name3].src=eval(name3 + "on.src");
Mit parent kann ich den Frameset ja wohl nicht ansprechen.
Ich weiß, dass man diese Seite theoretisch auch ohne Frames rein mit Tabellen aufbauen könnte, aber sie ist sehr komplex u.
es werden bei Klick immer nur kleinere Bereiche verändert. So muss man nicht immer die gesamte Seite neu aufbauen.
Frage:liege ich in meiner Meinung richtig? Oder muss ich den Aufbaueh rein über Tabellen machen, da es über Frames gar nicht so funktioniert ??
Vielen Dank für Kommentare/Hilfestellungen
Hallo!
Mit parent kann ich den Frameset ja wohl nicht ansprechen.
parent brauchst Du schon!
Wie nehmen mal an, Du möchtest von einem Frame aus, ein Bild in Frame "main" ansprechen. Da kannst ja auch den Framenamen verwenden.
parent.main.document.images.BildName.src = "bild.gif";
parent.frames[].document.images.images[].src = "bild.gif"; (in [] steht jeweils die Indexzahl)
Ein Funktion z.B., die sich auf der Seite befindet auf der das Frameset definiert ist, sprichst Du so an.
parent.FunktionsName();
<../../tecba.htm>
mfg, André Laugks
Hallo!
Mit parent kann ich den Frameset ja wohl nicht ansprechen.
parent brauchst Du schon!
Wie nehmen mal an, Du möchtest von einem Frame aus, ein Bild in Frame "main" ansprechen. Da kannst ja auch den Framenamen verwenden.
parent.main.document.images.BildName.src = "bild.gif";
parent.frames[].document.images.images[].src = "bild.gif"; (in [] steht jeweils die Indexzahl)Ein Funktion z.B., die sich auf der Seite befindet auf der das Frameset definiert ist, sprichst Du so an.
parent.FunktionsName();<../../tecba.htm>
mfg, André Laugks
Ich spreche kein Bild aus dem gleichen Frameset an, sondern im Frame "oben" einen Frame eines anderen Framesets. Der Framename, der das Bild enthält ist "li_ob.
Da geht es nicht so wie Du geschrieben hast
Hallo!
Du willst also auf ein Frameset eines Framesets zugreifen?
Das geht mit: top.frame["ebene1"].frame["ebene2"].document
Tschüs
Daniel
Hallo Gabi!
Beim Definieren Deines Framesets ist ein bisschen was durcheinander gekommen. Du öffnest z.b. 4 Framesets, schliesst aber nur 3. Ansonsten funktioniert das mit dem aufrufen von Funktion so wie André es erklärt hat.
Am besten schaust Du Dir das nochmal an und erklärst dann, von welchem Frame aus Du auf welche Funktion zugreifen willst.
Gruss
Mirko