Geschwindigkeit von Animationen
Stephan
- dhtml
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
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
http://www.teamone.de/selfhtml/tecb.htm#a44
http://www.teamone.de/selfhtml/tecb.htm#a45
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