MudGuard: setInterval läuft Amok

Beitrag lesen

Hi,

Via setInterval

Warum?

soll nun "bsp_1" 3 Sekunden, "bsp_2" und "bsp_3" 5 Sekunden angezeigt werden, bevor das Programm permanent auf "bsp_4" landet.

Durchlauf_3s = setInterval(function () { clearInterval(Durchlauf_3s); }, 3000) // nach einem Interval von 3 Sekunden

Die Tatsache, daß Du beim ersten Ablauf des Intervalls das Intervall löschst, sagt, daß Du eher setTimeout benutzen willst. Das erzeugt von vornherein nur genau einen Aufruf der übergebenen Funktion.

Du sagst: 3 Sekunden nach Laden der Seite soll Aktion 1 passieren

Durchlauf_5s_1 = setInterval(function () { clearInterval(Durchlauf_5s_1); }, 5000)

Auch dieses Intervall löschst Du sofort wieder ==> setTimeout.

Du sagst: 5 Sekunden nach Laden der Seite soll Aktion 2 passieren

Durchlauf_5s_2 = setInterval(function () { clearInterval(Durchlauf_5s_2); }, 5000)

Auch dieses Intervall löschst Du sofort wieder ==> setTimeout.

Du sagst: 5 Sekunden nach Laden der Seite soll Aktion 3 passieren

...was läuft hier verkehrt?!

Zusammengefaßt:
Du sagst: 3 Sekunden nach Laden der Seite soll Aktion 1 passieren
Du sagst: 5 Sekunden nach Laden der Seite soll Aktion 2 passieren
Du sagst: 5 Sekunden nach Laden der Seite soll Aktion 3 passieren

Du könntest z.B. setTimeout mit 3 Sekunden für Aktion 1, mit 8 Sekunden für Aktion 2 und mit 13 Sekunen für Aktion 3 nutzen.
Oder das setTimeout mit 5 Sekunden in der Aktion 1 mit Aufruf von Aktion 2 auslösen, und ein weiteres setTimeout mit 5 Sekunden in Aktion 2 mit Aufruf von Aktion 3 auslösen.

cu,
Andreas a/k/a MudGuard