$xNeTworKx: Javascript vergisst Variable + merkwürdiges Verhalten...

Beitrag lesen

Hallo,
Ich will einen onmouseover/out Effekt so darstellen, dass nach der Reihe 5 Bilder schnell nacheinander abgespielt werden. Jetzt bin ich aber auf einige Probleme gestossen:
Hier mal ein Teilcode:

var forum = new Array();
     forum[0] = new Image(88,23);
     forum[0].src = "pics/forum0.jpg";
     forum[1] = new Image(88,23);
     forum[1].src = "pics/forum1.jpg";
     forum[2] = new Image(88,23);
     forum[2].src = "pics/forum2.jpg";
     forum[3] = new Image(88,23);
     forum[3].src = "pics/forum3.jpg";
     forum[4] = new Image(88,23);
     forum[4].src = "pics/forum4.jpg";
     forum[5] = new Image(88,23);
     forum[5].src = "pics/forum5.jpg";

var i = 0;
var j = 5;

function lightimage(bildnummer)   {
         if (i <= 5)    {
         document.images[bildnummer].src = forum[i].src;
         }
         i++;
window.setTimeout("lightimage(bildnummer)",40);
}

function darkimage(bildnummer)   {
         if (j >= 0)    {
         document.images[bildnummer].src = forum[j].src;
         }
         j--;
window.setTimeout("darkimage(bildnummer)",40);
}

Die Javascript Funktion "lightimage" vergisst die Variable "bildnummer" in der Zeile window.setTimeout... aber warum? Wenn ich die Zahl zB 1 einsetze, funktioniert es. Ich brauche aber hier eine Variable, da ich mehrere Links habe, die natürlich verschiedene Bildnummern haben. Wie ich forum[i].src; dynamisch mache, dass dann zB mail[i].src in einer Variable gespeichert ist, die dann statt forum[i].src datsteht, weiß ich jetzt auch noch nicht. Wenn ich lightimage(bildnummer,button) angebe und mir zb die Übergabevariable 'forum' auf button übergeben lasse, funktioniert button[i].src nicht, aber das ist ein anderes Problem.

Das nächste Problem, das ich nicht verstehe ist, wenn ich den mouseover Effekt auslöse und mit der Maus wieder vom Link weggehe, funktioniert das ganze einmal und zwar im IE. Opera und Mozilla spielen die Animation auch nur einmal ab, und zwar auch nur dann, wenn ich ganz vorsichtig auf den Link fahre. Wenn ich das nicht vorsichtig tue, wird der onmouseout Effekt sofort nach dem onmouseover Effekt abgespielt, obwohl ich mit der Maus den LInk noch nicht verlassen habe. Was kann da sein?

$xNeTworKx.

--
Mit Computern lösen wir Probleme, die wir ohne sie gar nicht hätten.