Dynamische Buttons frame-übergreifend
RapFury
- javascript
Hallo an alle Forumer!
Ich bin gerade dabei, meine Website mit JavaScript umzudesignen, und habe ein Problem:
Das Bildwechsel-Script für dynamische Buttons sollte als Grundlage für mein Menü dienen, und es gab auch ansich keine Probleme beim Ausprobieren.
Allerdings habe ich zwei Frames, links "f1" und rechts "f2" (in dem dann die einzelnen Sektionen dargestellt werden).
Was muss ich tun, damit der "MouseOver"-Effekt funktioniert und beim Click der Inhalt des Verweises in f2 aufgerufen wird?
Ich habe schon das Archiv des Forums durchsucht, aber nichts gefunden, das hilft. :(
Außerdem kommt immer die Fehlermeldung (I.E.6), dass die Buttons nicht definiert seien, obwohl sie das im Header sind. Was ist da falsch?
Ich habe das Script nach dem Beispiel aufgestellt, also kann das doch nicht sein...
Danke schonmal im Voraus!
Hallo RapFury,
Du musst 2 Sachen trennen: den JS-Teil und den HTML-Teil. Der JS-Teil ist nur onMouseOver und hat mit Frames erst mal nichts zu tun.
Der Button ist ja so aufgebaut:
<a href="..." onMouseOver="..."><img ...></a>
So - und das onMouseOver interessiert beim Verweisziel gar nicht. Es interessiert nur das href: Wenn Du in einen anderen Frame lenken willst, musst Du das genauso, wie bei allen anderen normalen Links auch machen: mit dem target-Attribut.
Mit der Fehlermeldung im IE kann ich nicht weiterhelfen, ohne dass Du hier einen Beispielcode angibst.
Grüße,
Christian
Das Problem ist ja, dass das target-Attribut seinen Zweck tut, aber der MouseOver nicht funktioniert.
Ohne Frames funktioniert das aber.
Ich hatte den Code aus dem SelfHTML-Beispiel kopiert und dann nach meinen Bedürnissen konfiguriert.
Im Header sah das dann wie im Beispiel aus:
Schwarz11 = new Image();
Schwarz11.src = "button11s.gif";
Rot11 = new Image();
Rot11.src = "button11r.gif";
etc. pp. (11 sind es nämlich insgesamt)
Und am Ende dann eben die Bildwechsel-Funktion
Und im Body dann folgendes:
<table>
<tr>
<td>... (die ersten 10)
<a href="psw.htm" target="f2"
onMouseOver="Bildwechsel(10,Rot11)"
onMouseOut="Bildwechsel(10,Schwarz11)">
<img src="button11s.gif"border="0"
alt="Community"></a>
</td>
</tr>
</table>
Und da weiß ich echt nicht, was da falsch sein soll...???
Hallo RapFury,
Fehler gefunden! Das war wirklich ein ganz gemeines Problem!
Ich lese mir gerade die entspr. Funktion in SELFHTML durch und entdecke folgende Zeile:
window.document.images[Bildnr].src = Bildobjekt.src;
^^^^^^^
das muss weg
Das window brauchst Du eigentlich gar nicht und bereitet dieses Problem mit Frames.
Grüße,
Christian
Danke!!!!
Habe es jetzt geändert und alles funktioniert! :)
Habe mal die URL angegeben, für den Fall, dass einer das Ergebnis begucken will. ;)