setInterval wird immer schneller!?

jarkand

Grünschnabel
Morgen zusammen,

ich habe da ein kleines Problem mit setInterval. Jedes mal wenn man den Button "btn" klickt wird das Interval schneller obwohl sich die Angabe der Intervalzeit von 100 nicht geändert hat. Any ideas?

Code:
var myTime = 50;
var intervalID:Number = setInterval(myTimer, 100);

this.createTextField("myTimer_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
	
function myTimer():Void {
	if (myTime <= 0) {
		myTimer_txt.text = "Time Out";
	} else {
		myTime--;
		myTimer_txt.text = "Time: " + myTime;
	}
}

btn.onRelease = function() {
	myTime = 50;
	clearInterval(intervalID);
	setInterval(myTimer, 100);
	trace(myTime);
}
 
Hi,

Code:
btn.onRelease = function() {
	myTime = 50;
	clearInterval(intervalID);
	setInterval(myTimer, 100);
	trace(myTime);
}
Hier erstellst Du immer neue Intervalle, ohne die vorherigen zu löschen: Die intervall-ID wird nämlich fortlaufend vergeben, so dass nur Dein erstes Intervall (ID: 1) gelöscht wird. Probiers mal so:
Code:
btn.onRelease = function() {
	myTime = 50;
	clearInterval(intervalID);
	intervalID = setInterval(myTimer, 100); // ID aktualisieren
	trace(myTime);
}

Gruß
.
 
Zurück