Hi
var gelbist = 1;
var bildaddr;
function bildtausch_nn(index,bild) {
austausch = new Image ();
austausch.src = bild;
//dunkelgelbmachen
***Fehlerbeginn***
document.backgryellow.document.images[gelbist].src = bildaddr;
Hier wird beim ersten Funktionsaufruf dem Bild mit der Nummer1 !! (gelblist=1 am Anfang) die Variable bildaddr zugewiesen, die beim ersten Funktionsaufruf aber noch gar keinen Wert hat. Das fuerht dazu, dass das Bild1 immer =undefined ist.
Was diese Zeile eigentlich machen soll, ist das zufor angeklickt Bild wieder in den Ausgangszustand zu bringen. Beim ersten Funktionsaufruf gibt es aber kein zuvor angeklicktes Bild ;-) Deshalb darf diese Zeile nur ab dem zweiten Funktionsaufruf ausgefuehrt werden. Am einfachsten laesst sich das mit einer if Schleife machen:
Du setzt eine Variable vor der Funktion auf z.B 1 und fragst dann ab ob sie = 1 ist. Wenn ja wird nur die Variable auf einen Anderen Wert gesetzt (auf 2 z.B ;-), wenn nein wird die obige Zeile ausgefuehrt.
Also vor der Funktion: var zaehlvar=1;
Dann :
if (zaehlvar==1) zaehlvar=2;
else document.backgryellow.document.images[gelbist].src = bildaddr;
***Fehlerende***
alert(document.backgryellow.document.images[index].src);
bildaddr = document.backgryellow.document.images[index].src;
//hellgelbmachen!!
document.backgryellow.document.images[index].src = austausch.src;
gelbist = index;
alert("index :"+gelbist+"bildaddr: "+bildaddr);
//alert(bildaddr);
}
Tschau Holger