for-schleife mit zeitverzögerung
Robert
- javascript
Hallo
ich habe diese Schleife
for (i=5; i>=-185; i-=4) {
document.getElementById('menu').style.top=i
}
wie kann ich es realisieren das bei jedem Durchlauf eine Pause von X Milisekunden eingehalten wird bevor der nächste Durchlauf startet?
mfg Robb
wie kann ich es realisieren das bei jedem Durchlauf eine Pause von X Milisekunden eingehalten wird bevor der nächste Durchlauf startet?
mfg Robb
mit while
mit while
while(i>=-185)) {
i-=4;
document.getElementById('menu').style.top=i
}
und nun?
Moin!
wie kann ich es realisieren das bei jedem Durchlauf eine Pause von X Milisekunden eingehalten wird bevor der nächste Durchlauf startet?
mit while
NEIN, um Gottes Willen! Bloß keine Zeitverzögerung mit Schleifen in Javascript konstruieren! Das killt den Benutzerrechner performancmäßig mit ziemlicher Sicherheit - außerdem ist es extrem unzuverlässig, weil es von der Rechnergeschwindigkeit abhängt. Den Fehler haben die ersten Spiele gemacht, die auf neueren Rechnern unspielbar schnell wurden.
Wenn es um Zeitverzögerung geht, nimmt man setTimeout() oder setInterval().
http://selfhtml.teamone.de/javascript/objekte/window.htm#set_timeout
- Sven Rautenberg
Hi,
am besten mit window.setTimeout();
function XY(i)
{
document.getElementById('menu').style.top=i;
i-=4;
if(i >= -185)
window.setTimeout("XY("+i+")", 1000);
}
XY(5);
ich würde es so machen. XY ist eine Funktion die nennen kannst wie du willst! Dann aber ich im setTimeout ändnern.
Die Funktion wird erstmals mit dem Wert 5 aufgerufen, und dem Menu zugewiesen. die 1000 sind Milisekunden, sind also 1 Sekunde!
Also nach einer Sekunde wird die Funktion erneut aufgerufen, solange bis i >= -185 ist.
Gruß
Christian