Problem bei setInterval, mit Variablen für die Zeit

PatrickStr

Mitglied
Hallo zusammen,
ich glaube ich bräuchte einen kleinen Tip(Tipp)!
Hier schon mal der Code:
PHP:
function load_aPic() {
	var i=_root.mysleeptime;
	//this.InitPic = setInterval(doPic, i,i ); //funktioniert nicht!! Soll aber!!
	this.InitPic = setInterval(doPic, 3000,3000 ); //funktioniert !! Will ich aber nicht
}

Also es ist so, meine Slide-Show funktioniert super, wenn ich für die Zeit eine echte Zahl eingebe aber überhaupt nicht wenn die Zahl über die Variable reinkommt.
Dabei ist es leider unerheblich ob ich "i" nehme oder "_root.mysleeptime" die Variable enthält die Zahl 5000 und ich hatte gehofft, ich könnte das Skript so zum Laufen bekommen.
Denn ich möchte die Millisekunden für die Unterbrechung gerne aus einer XML-Datei einlesen, jedes Pic seine Pause.
Vielleicht hat jemand da einen Tip für mich.

Danke im Voraus!
 
Hallo,

hast du dir schonmal var i ausgebenlassen
Code:
trace(i); oder
trace (_root.mysleeptime);

Grüße
ava99
 
Hallo,
ich habe die verrücktesten Versuche unternohmen aber ungefähr so sieht es hier aus

PHP:
function load_aPic() {
                                      var i=_root.mysleeptime;
                                      trace(i);   //Hier ist der Variablenwert  5000 Ms
                                this.InitPic = setInterval(doPic, i,i ); 
}

doPic(argument){ trace("varibalenWert = "+argument); };// Hier ist er dann Null

Grüße aus Cuxhaven
 
Code:
doPic(argument){ trace("varibalenWert = "+argument); };// Hier ist er dann Null
... das ist aber keine korrekte Funktionsdeklaration - wo ist denn das Schlüsselword "function"?

Zudem: Löschst Du das Intervall auch irgendwo wieder?

Folgendes funktioniert bei mir tadellos:
Code:
var mysleeptime = 500;

function load_aPic() {
	var i=_root.mysleeptime;
	trace(i);
	this.that = this; // wichtig zum Löschen des Intervals, da aufgerufene
	// Funktionen anonym sind: sie kennen keinen Verweis auf "this".
	this.InitPic = setInterval(doPic, i,i ); 
}

function doPic(argument){
	clearInterval(that.InitPic);
	trace("varibalenWert = " + argument);
}

load_aPic();

Gruß
.
 
Zurück