Entweder die Variablen sind global, dann brauchst du sie nicht als Parameter übergeben, oder sie sind lokal, dann werden sie mit der Schreibweise nicht korrekt an die Funktion weitergegeben. Wenn du das willst, müsstest du sie in den String einbinden (wenn es alles Zahlen sind: "speedup(" + start + ", " + end + ", " + tick + ", " + timeout + ")") oder eine verschachtelte Funktion notieren und setTimeout diese Funktion übergeben (sie wirkt dann als Closure und hat Zugriff auf die lokalen Variablen der speedup-Ausführung).
setTimeout(function () { speedup(start, end, tick, timeout); }, timeout);
Mathias
Hi, danke für die Aufklärung. Ich hab jetzt mal folgenden Workaround angewendet:
//Bilder beschleunigen
function speedup(start, end, tick, timeout){
if(step<start){
step=start;}
if(step<end){
step=step+tick;
var callback1 = function() {speedup(start, end, tick, timeout);};
setTimeout(callback1, timeout);
}
}