guliver: for-schleife

hallo,

ich versuche mir gerade etwas javascript beizubringen. undzwar möchte ich sowas wie eine bildershow machen. das mit dem bildershow funktioniert, aber ich möchte eine kleine besserung haben, die ich gerade nicht hinkriege. mein code sieht so aus:

function eins(){  
 document.getElementById('bilder').src = "1.jpg";  
 blenden();  
 window.setTimeout(function () { zwei(); }, 2000);  
}  
		  
function zwei(){  
 document.getElementById('bilder').src = "2.jpg";  
 blenden();  
 window.setTimeout(function () { eins(); }, 2000);  
}
<body onload="javascript:eins()">  
<img id="bilder" img="" alt="" />  
</body>

das blenden klappt und bilder wechseln klappen beide wunderbar.

der code oben sieht blöd aus. ich möchte gerne den code so haben, dass ich aus den funktion eins und zwei eine einzige mache.

ich habe schon versucht die bildnamen in ein array zu spreichen und mit einer for-scheilfe diese auszugeben, hat leider nicht geklappt, leider hat javascript kein for each oder??

viele grüße
guliver

  1. leider hat javascript kein for each oder??

    Doch doch, heißt nur <http://de.selfhtml.org/javascript/sprache/schleifen.htm#for@title=for-in Schleife> oder aber du arbeitest dich von null bis < array.length (oder <= array.length-1)

    --
    sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
  2. Eine Schleife knallt dir aber alle Bilder der Reihe nach durch, so schnell wie sie kann. Davon hast du dann nicht viel. Und da dann noch Wartezeiten einbauen killt das ganze System.
    Ich würd mir in einer globalen Variablen den Index des aktuellen Bilds merken und per Timeout (wie jetzt auch) eine Funktion aufrufen. Die bestimmt den nächsten Bildindex, zeigt das Bild und dann wieder Timeout...

    also praktisch so etwa
    var bildindex = 0;
    var bilder = array...
    function weiter()
    {
      bildindex++;
      if (bildindex >= anzahlBilder)
        bildindex = 0;

    zeigeBild(bildindex);
      timeout(weiter);
    }

    1. hi,

      super vielen dank für die hilfe, hat geklappt..

      gruß
      gliver