Konrad Urlichs: mouseover

Beitrag lesen

<html>
<head>
<script type="text/javascript">
<!--
pic0=new Image();
pic0.src="0.gif";
pic1=new Image();
pic1.src="1.gif"
pic2=new Image();
pic2.src="2.gif";
pic3=new Image();
pic3.src="3.gif";
// var a,pic;
// Das hier waren GLOBALE Variablen!!
alert(document.images[0].src+"454");
function tauschen(a,pic) {
 document.images[a].src=pic.src;
}
// -->
</script>
</head>
<body>
<a href="javascript:alert(document.images[0].src)">hjikhjhkkj</a>
<a HREF="overpic/start.htm" ONMOUSEOVER="tauschen(0,pic1)" ONMOUSEOUT="tauschen(0,pic2)" >Eins</a>
<img NAME="imag" SRC="0.gif" width="100" height="38">
</body>
</html>

Ich war gerade selbst ein wenig erstaunt, dass alles nicht funktioniert hat.
Hier die Fehler:
   - Die schon genannten (<script>, // new Image)
   - die bilder hiessen "images", wenn man dann nach document.images[1] fragt, dann meint er, man soll das erste Element des Bildes "images" nehmen, welches es natuerlich nicht gibt. Also: Obacht bei der Namensgebung!
   - Du musst schon angeben, welches Bild Du ändern willst: Nicht tauschen(a,pic0) sondern tauschen(1,pic0) ist richtig. Niemand weiss an der stelle was von der Variablen a.
   - Du hast die Variablen a und pic nochmal ausserhalb der Funktion deklariert mit var pic,a. Damit sind sie global bekannt. Wozu? Braucht niemand und stört nur.

Und überhaupt: Warum so viele center-dinger? Wär das nicht einfacher auch gegangen?

Naja. Ich hoffe, Du kommst zurecht

Grüsse
Konrad