Es könnte alles so einfach sein, wenn da nicht der Internet Explorer wäre…
Folgendes hat zwar sehr gut im Firefox funktioniert, um einen zeitabhängigen Ablauf zu steuern, jedoch leider nicht im IE.
MyClass = Class.create({
initialize : function()
{
this.speed = 1000;
},
loop : function()
{
// Irgendwas in der Zeitschleife...
window.setTimeout(function(obj) { obj.loop(); }, this.speed, this);
}
});
Der zweite Code ist zwar etwas länger, funktioniert dafür aber in beiden Browsern.
MyClass = Class.create({
initialize : function()
{
this.speed = 1000;
},
loop : function()
{
// Irgendwas in der Zeitschleife...
var myThis = this;
function timerRelay() {
myThis.loop();
}
window.setTimeout(timerRelay, this.speed);
}
});

09.06.2010 um 09:18 Uhr
Hallo,
über den 3. Parameter bin ich auch schon gestolpert und wurde dann ganz schnell wieder vom IE enttäuscht -.-
Aber es gibt noch einen anderen Weg die Instanz weiter zu geben.
Durch eine anonyme Funktion:
(function(obj){window.setTimeout(function() { obj.loop(); }, obj.speed); })(this);
viel Spaß beim probieren
Tobi
09.06.2010 um 19:38 Uhr
Sieht gut aus und ich werde es bei Gelegenheit testen. Vielen Dank!