Hi,
hat jemand von euch irgendeine ahnung was ich da falsch gemacht habe?
Ja, einiges ;)
Überlege Dir mal, was das diese Zeile bedeutet: eval("img1.src=a["+nb+"].src");
--> (sinngemäß) Zeige für das Objekte "img1" den Inhalt des Array "a" (Stelle "nb") an.
Du ersetzt also ein Objekt "img1" durch ein Bild, dessen Pfad im Array a gespeichert ist. Dein Problem ist, daß Du unterschiedlichen Objekten die selben Namen gibst: <img name="img1"... kommt bei Dir zweimal vor. Dies darf nicht sein und macht auch keinen Sinn, da Du diese beiden Objekte (Grafiken) nicht mehr unterscheiden kannst.
Also:
1. Benenne die einzelnen Grafik-Objekte um, so dass keine Namen mehr doppelt vorkommen --> <img name="img1" SRC="img1.gif" border=0> und <img name="img2" SRC="img1.gif" border=0>
2. Erweitere die Funktion so, daß klar wird, welche Grafik geändert werden soll.
function roll1(nb, nr)
{
var a;
a= new Array();
a[0]=new Image;
a[0].src="img2.gif";
a[1]=new Image;
a[1].src="img1.gif";
eval("img"+nr+".src=a["+nb+"].src");
}
3. Ändere den Funktionsaufruf entsprechend ab:
Für Bild 1:
<a href="http://selfhtml.teamone.de" onmouseover="roll1(0,1)" onmouseout="roll1(1,1)">
Für Bild 2:
<a href="http://selfhtml.teamone.de" onmouseover="roll1(0,2)" onmouseout="roll1(1,2)">
Viel Erfolg...
Alex :)