Stephan: Geschwindigkeit von Animationen

Ich habe ein kleines Problem mit einer DHTML Animation und zwar mit der Geschwindigkeit.
Wenn ich ein div in einer for oder while Schleife bewege, dann geht das extrem schnell (so dass es gar keine Animation, sondern nur noch ein einmaliges Ändern der Position ist).
Beispiel:
for (j=1; j<=300; j++)
{
document.all.div1.style.left=(j);
}

Wenn ich das Ganze aber in einer Funktion schreibe und diese sich immer wieder selbst aufrufen lasse, ist die Animation zu langsam.
Beispiel:
j=1;
function move()
{
   if(j<=300)
      {
      document.all.div1.style.left=j;
      j++;
      move();
      }
}

Kann mir jemand sagen, wie ich die Geschwindigkeit exakter steuern kann?

Herzlichen Dank

Stephan

  1. Hallo Stephan,
    mit

    VariablenName = setInterval("Befehl",Zeit in Millisekunden);

    kannst du eine Funktion oder Befehle zeitlich gesteuert ausführen. Mit

    clearInterval(VariablenName);

    kannst du die Schleife wieder abbrechen.
    Alternativ funzt auch

    setTimeout("Befehl",Zeit in Millisekunden);

    Ciao, Cano2

  2. http://www.teamone.de/selfhtml/tecb.htm#a44

    http://www.teamone.de/selfhtml/tecb.htm#a45

  3. Hallo Stephan!

    Für Animationen bietet sich
    Animationscontainer = window.setInterval("FunktionXY()",ZeitZwischenDenAufrufen);
    an.

    Mit
    window.clearInterval(Animationscontainer);
    wird die Animation wieder beendet.

    Siehe auch SelfHTML!

    Einfache Schleifen sind problematisch, da der IE den Bildschirm erst neu zeichnet, wenn er im Idle-Modus ist, sprich wenn die Animation vorbei wäre ;-)

    Schöne Grüße
    Dominic