Der Martin: Mouseover Slideshow in verschiedenen Frames

Beitrag lesen

Hallole,

erstmal danke für deine netten Worte.

:-)

ich habe ein frameset und will eine funktion in frame 4 (d.html) aus frame 1 (a.html) aufrufen. leider klappt es nicht, obwohl das skript ja ganz einfach ist.

Ich habe den Verdacht, dass das Aufrufen der Funktion sehr wohl klappt - aber dazu gleich mehr. Mit welchem Browser testest du denn eigentlich? Lass es nicht den IE sein; der ist zum Debuggen von Javascript denkbar ungeeignet, weil er bei Fehlern oft recht wortkarg ist und das bisschen Information auch noch oft missverständlich ist. Da ist der Mozilla/Firefox empfehlenswert: Seine Javascript-Konsole gibt recht detaillierte Hinweise.
Welche Hinweise gibt sie denn bei deinem Projekt?

<frameset cols="*,*">

Na, das ist mal 'ne flexible Angabe: Mach mir ein Frameset mit zwei Spalten, egal wie breit. ;-)

in d.html habe ich (vereinfacht):
<script language="JavaScript">

Hier fehlt das vorgeschriebene type-Attribut (type="text/javascript"), aber das ist für dein Problem nicht relevant.

function changeimage(towhat,url){
if (document.images){
document.images.targetimage.src=towhat.src
gotolink=url
}

Aha. Als 'towhat' übergibst du dann wohl ein image-Objekt, und der Parameter 'url' wird nur einfach irgendwo gespeichert. Ein Bild mit dem Attribut name="targetimage" existiert auch im Dokument?

<a href="#" onmouseover="top.frame4.changeimage(myimages[3],this.href)">

Das sieht syntaktisch und logisch richtig aus und sollte nach meiner Einschätzung eigentlich funktionieren. Hast du mal mit einem alert() in der Funktion changeimage() überprüft, ob sie wirklich aufgerufen wird? Falls ja, könnte der Fehler noch in der Parameterübergabe liegen, z.B. dass myimages[3] eben kein image-Objekt ist.
By the way, das '#' als Linkziel ist ja auch nicht besonders schlau - oder dient das hier im Beispiel nur als Platzhalter?

..und das klappt nicht, auch wenn ich mich auf den kopf stelle.

Das stelle ich mir lustig vor... *g*

die funktion in d.html lässt sich von einem link auf derselben seite problemlos ausführen, also das fuktioniert. was nicht geht ist also die "fernbedienung" aus frame1.

Das ist echt mysteriös. Ich glaube, es ist das Beste, wenn du mal eine Testversion vom gesamten Projekt online stellst, dass man das mal "live" nachvollziehen kann.

Schönen Tag noch,
 Martin

--
Der Gast geht solange zum Tresen, bis er bricht.