Scooter: setTimeout() ohne Funktion aufrufen

Beitrag lesen

Hi,

der Code nach setTimeout() wird sofort, d.h. so schnell dein Browser kann ausgeführt. Und das was in setTimeout() steht, erst nach der bestimmten Zeit. Deshalb klappts nicht.

function Test() {
    if (document.all){
      for(i = 0; i <= 200; i = i + 20){
        setTimeout("", 2000);
        document.all.Absatz.style.setAttribute("color","rgb("+i+","+i+","+i+")","false");
      }
    }
    else
      document.getElementById("Absatz").style.color = "#444444";
}

Die abfrage nach document.all ist doch auch überflüssig. IE ab 5 kann getElementById doch auch!

Und da könntest du ja auch den Effekt einbauen.
Machs so:

function Test(i)
{
  document.getElementById("Absatz").style.setAttribute("color","rgb("+i+","+i+","+i+")","false");
  i += 20;
  if(i <= 200)
  setTimeout("Test("+i+")", 2000);
}

Test(0);

Gruß
Scooter