• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Funktion als Parameter mitschicken

Status
Für weitere Antworten geschlossen.

yss

Mitglied
Hallo,

ich bin gerade dran eine Universelle TimeOut-Funktion zu programmieren, dass heißt ich muss in einer anderen Funktion einfach nur "setTimeout2(Zeit, Funktion)" angeben und die Funktion verzögert sich dann um die angegebenen Parameter.

Das mit dem zeitübergeben funktioniert 1a, aber die Funktion will noch nicht richtig, wenn z.B. als Funktion "test" übergeben wird merkt er es ist eine Funktion und sendet alles mit. Dann habe ich versucht den Funktionsnamen in 2 Teile zu zerstückeln, aber wenn ich es dann in "setTimeout2()" wieder zusammensetzte nimmt er wieder den Wert der kompletten Funktion.

Wir schaffe ich es den Funktionsnamen mitzusenden, ohne dass der ganze Inhalt später drin ist.

Hier mein Bsp:

HTML:
var wert = 0;
function statusbalken(){
	var funktion = 'statusbalken';
	if(wert == '280'){
		//NULL
	}else{
		wert = wert+1;
		document.getElementById('consolenstatusbalken').style.width = wert+'px';
		setTimeout2(35, funktion); //Funktion müsste also hier "statusbalken" sein
	}
}

function setTimeout2(wert, wert3){
	var wert2 = parseInt(wert);
	var funktion = wert3;
	setTimeout(funktion ,wert2);
	
}
 
Ach jetzt xD
Ich war immernoch im Gauben, dass wenn man die Funktion selber wieder aufruft diese Meldung mit dem "Stack Overflow" kommt, aber das ist wohl bei TimeOut nicht so. Ok, danke.
 
Code:
var wert = 0;
function statusbalken(){
	var funktion = arguments.callee; //bzw statusbalken ohne Anführungsstriche
	if(wert == '280'){
		//NULL
	}else{
		wert = wert+1;
		document.getElementById('consolenstatusbalken').style.width = wert+'px';
		setTimeout2(35, funktion); //Funktion müsste also hier "statusbalken" sein
	}
}

function setTimeout2(wert, wert3){
	var wert2 = parseInt(wert);
	var funktion = wert3;
	setTimeout(funktion ,wert2);
	
}
Wozu du setTimeout2() brauchst ist mir nicht klar. Macht doch genau das gleiche wie setTimeout() nur mit anderer Parameterreihenfolge?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben