molily: For schleife Jquery

Beitrag lesen

Das Problem sind Closures in Schleifen (zu den Stichwörtern findest du im Forumsarchiv einiges). D.h. in der Schleife notierst du Funktionen, die den Schleifenzähler i einschließen. Wenn die Funktionen aufgerufen haben, ist der Wert von i jedoch der des letzten Schleifendurchlaufs (10). Es gibt verschiedene Möglichkeiten, der Handler-Funktion das passende i zur Verfügung zu stellen. Du kannst z.B. eine weitere Funktion verwenden, die mit jedem Schleifendurchlauf ausgeführt wird und die den Schleifenzähler übergeben bekommt:

for (i = 2; i <= 10; i++) (function (i) {
  $('#test'+i).toggle(function () {
    $('#ziel'+i).css({"background-image":"url(foto.gif)"});
  }, function () {
    $('#ziel'+i).css({"background-image":"url(/foto.gif)"});
  });
})(i);

So schließen die Closures immer den richtigen i-Wert ein.

Mathias