Gunnar Bittersmann: SetTimeout nur 3 Sekunden ausführen.

Beitrag lesen

@@Adam:

nuqneH

ich möchte dass die Funktion automatisch nach 2-3 Sekunden aufhört. Dies soll von alleine passieren und nicht mit nem Link durch clearTimeout ... wie stellt man sowas an ? ;-)

Indem du beim Start der Bildwechselfunktion einen zweiten Timer startest, der clearTimeout() für den Timer der Bildwechselfunktion aufruft. Letzteren musst du dir dazu in einer Variablen merken.

var namen=new Array("1-rot.gif","2-schwarz.gif","3-rot.gif","4-schwarz.gif");

Das kannst du kürzer haben:
var namen = ["1-rot.gif", "2-schwarz.gif", "3-rot.gif", "4-schwarz.gif"];

nr=(nr+1)%4;

Hm, ich weiß nicht, ob ein Vergleich nicht schneller ist als eine Division. Also:
if (nr++ == 4) nr = 0;

window.setTimeout("naechstes()",80);

Der erste Parameter von setTimeout sollte besser kein String sein, sondern eine Referenz auf eine Funktion:
window.setTimeout(naechstes, 80);

function start_timeout2() {

window.setTimeout("naechstes()",0);
}

  
Was bitte soll das denn? Zum Initialisieren der Bildwechselfunktion rufst du diese einfach auf – ohne `setTimeout()`{:.language-javascript}:  
`   naechstes();`{:.language-javascript}  
  
Qapla'

-- 
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.  
(Mark Twain)