Wie es mir scheint, nimmt die for-Schleife die slidehide() aufruft, keine Rücksicht darauf ob slidehide() nun schon komplett druchgelaufen ist oder nicht... Wie kann ich erreichen, dass die for-Schleife erst dann inkrementiert wenn slidehide() "fertig ist"?
Genau darauf wollte ich hinaus.
Die for-Schleife weiß natürlich nichts von einem Timeout. Die for-Schleife ruft nur eine Funktion bzw. Methode setTimeout auf und verwirft deren Rückgabewert (in Deinem Script jedenfalls).
Und dann geht's weiter mit dem nächsten Schleifendurchlauf.
Eine zeitgesteuerte Schleife läßt sich eben mit setInterval() umsetzen:
var myInterval;
function doSomething() {
// veraendere die Hoehe des DIV-Elements
// prufe, ob Abbruchbedingung erfuellt
// wenn ja -> Intervall abbrechen
if(...) window.clearInterval(myInterval);
}
// Anstossen der zeitgesteuerten Schleife
myInterval = window.setInterval('doSomething()', 500);
Hilft Dir das?
Ciao,
Andreas