LenaLuna: Object in javascript erstellen, mit settimeout in einer methode?

Beitrag lesen

hallo,

//Funktion zum verzögerten aufruf
this.hideLayer = function()
{
this.Timer = window.setTimeout(this.hide,500);
}

ich denke, das problem ist, dass du beim ersten parameter des setTimeout's gültige javascriptanweisungen übergeben musst.

das heisst die müssen in stringform sein. z.bsp. so.

window.setTimeout("this.hide;",500);

dies wird aber in deinem fall auch nicht funktionieren. weil die setTimeout-methode im gültigkeitsbereich des windowobjektes aufgerufen wird.

mit anderen worten ist die this-referenz gar nicht vorhanden oder die falsche.

damit das funktioniert wie du willst musst du deine verbergefunktion global ablegen.

var verbergefunktion = function....

und dann kannst du sie mit

window.setTimeout("verbergefunktion;",500);

aufrufen.

das ist natürlich der ganze objektorientierta ansatz futsch...

du musst dir im klaren sein, javascript ist nicht wirklich objektorientiert.

gruss LenaLuna