Ralph Gröger: dynamische buttons mit java script

Beitrag lesen

ich habe eine grafik (a) die beim ueberfahren mit dem mauszeiger eine neben sich stehende grafik (b) veraendert. diese enthaelt informationen. wird die eine grafik (a) nicht ueberfahren, enthaelt grafik b keine informationen. so schoen so gut. beim ie3 moechte ich jetzt allerdings erreichen das er (da er ja kein mouseover befehl hat) die grafik b mit informationen schon anzeigt. wenn ich naemlich die seite jetzt mit dem ie3 betrachte bleibt grafik b natuerlich ohne infos, weil ja so die eigentliche grafik ist (b ist leer bzw. einfach weiss)  und ihre informationen erst mit dem ueberfahren der grafik a anzeigt.   puhhh schwierig zu erklaeren :) aber vielleicht kann mir ja einer helfen. waere echt toll. btw.
java script ist aber immer eingeschaltet :-) also eine loesung fuer "java script off" brauch ich nicht.

Erstmal vornweg, der IE3 kennt sehr wohl den onMouseOver - Handler, allerdings kann er das
damit aufgerufene Script bei Dir nicht ausführen, da er das images-Objekt nicht kennt.
Dein Problem kannst du lösen, indem du den HTML-Code an der entsprechenden Stelle (innerHTML) über ein Script dynamisch erzeugst. Dann steht die Erklärung im IE3 von vornherein da, ansonten wird sie durch ein onMouseOver-erzeugtes Bild erst beim entsprechenden Event angezeigt.
Folgendes funktioniert nachweislich, wenn Du beim einfügen über keine Fallstricke fällst:

<HEAD>
<SCRIPT LANGUAGE="JavaScript">
if(document images)
{
NeuBild = new Image();
NeuBild.src = "Erklärung.gif";
}
function change()
{
if(document.images)
document.images.tauschbild.src = NeuBild.src;
}
</SCRIPT>
</HEAD>
<BODY>
...
<BR>jede Menge HTML-Code<BR>
...
<A HREF="sonstwo.htm" onMouseOver="change()">
<IMG SRC="auslöser.gif">
</A>
<SCRIPT LANGUAGE="JavaScript">
if(document.images)
document.write('<IMG SRC="ohneErklärung.gif" NAME="tauschbild">');
else
document.write('<IMG SRC="Erklärung.gif">');
</SCRIPT>
...
<BR>und wieder jede Menge HTML-Code<BR>
...
</BODY>

Schreib mal ob's geklappt hat.
Tschau Ralph.