Destructor: setInterval läuft Amok

Beitrag lesen

...ok und schon wieder laufe ich gegen die Wand :(

folgender Code sollte doch eigentlich dazu führen, dass zuerst "bsp_1", nach einer Sekunde "bsp_2", zwei Sekunde danach "bsp_3" und fünf Sekunden danach "bsp_4" angezeigt wird.

  • De facto wird nach einer Sekunde "bsp_4" angezeigt, des weiteren ignoriert "bsp_1" die display = "none" Anweisung.

Javascript:

function Hauptprogramm() {

	var aktiv = 1;

	var Durchlauf_1s;
	var Durchlauf_2s;
	var Durchlauf_5s;

	document.getElementById("bsp_" + aktiv).style.display = "block";
	aktiv++;

	Durchlauf_1s = setTimeout(function() {
	if (aktiv > 1) {
		document.getElementById("bsp_" + (aktiv - 1)).style.display = "none";
		document.getElementById("bsp_" + aktiv).style.display = "block";
		}
	}, 1000);
	
	aktiv++;
	
	Durchlauf_2s = setTimeout(function() {
	if (aktiv > 1) {
		document.getElementById("bsp_" + (aktiv - 1)).style.display = "none";
		document.getElementById("bsp_" + aktiv).style.display = "block";
		}
	}, 3000);
	
	aktiv++;
	
	Durchlauf_5s = setTimeout(function() {
	if (aktiv > 1) {
		document.getElementById("bsp_" + (aktiv - 1)).style.display = "none";
		document.getElementById("bsp_" + aktiv).style.display = "block";
		}
	}, 8000);

} 

window.addEventListener("load", Hauptprogramm);

Bin für jede Hilfe zum Thema dankbar!

LG, Destructor.