setTimeout
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
-
Wie kann man in einer setTimeout-funktion ein Objekt als Parameter angeben?
foo=function(msgbx){
msgbx.style.marginTop = Math.round(my)+"px";
msgbx.style.marginLeft = mx+"px";
setTimeout("foo(msgbx)",10);
}
"setTimeout("foo(msgbx)",10);" funktioniert aber nicht...
Beitrag geaendert: 16.2.2007 11:30:16 von n3t -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Die Lösung die mir selbst mit Nachdenken eingefallen :)
Optimal ist sie nicht, aber eine andere Lösung fällt mir nicht ein...
var global; foo(obj){ obj.someFunc(); global=obj; setTimeout("foo2()",1000); } foo2(){ global.someFunc(); setTimeout("foo2()",1000); }
-
soll sich foo2 immer wieder selbst aufrufen?
Dann wäre setInterval die bessere Lösung.
Eine bessere Idee als eine globale Variable zu benutzen hätte ich aber auch nicht.
Anmerkung:
Sowohl setTimeOut als auch setInterval erwarten eigentlich als 1. Parameter einen Funktionsnamen.
schreibe statt
setTimeOut('funktion()',1000);
besser
setTimeOut(funktion,1000)
Um das ganze noch ein wenig zu komprimieren:
msgbx={}//das Objekt function machwas() { msgbx.style.marginTop = Math.round(my)+'px'; msgbx.style.marginLeft = mx+'px'; } setInterval(machwas,1000);
Beitrag geaendert: 16.2.2007 21:59:37 von bladehunter -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage