Archivlink: javarea.de Forum > JavaScript > clearTimeout(str);
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > clearTimeout(str);

Pages: [1]

geschrieben von Eppi am 05.04.2006 - 11:31
Hallo,

kennt Ihr eine Möglichkeit, wie ich clearTimeout verwenden kann - dabei jedoch das zu löschende Timeout per String übergeben kann?
als Besipiel:
test = setTimeout("alert('test');", 500);
var test2 = 'test';
clearTimeout(test2);

gruß, paul

geschrieben von Martin am 05.04.2006 - 12:42
Ave,

so funktioniert es leider nicht. Entweder du arbeitest mit einem globalen Array.

var timerArray = new Array();
timerArray["myTimer"] = setTimeout("func()", 100);

http://de.selfhtml.org/javascript/o....ive_arrays

oder mit einer Klassen-Funtion

function myTimerClass( name )
{
this.object = this;
this.start = function() {
this.timer = setTimeout("func()", 100);
}
this.stop = function() {
clearTimeout( this.timer );
}
}

http://developer.mozilla.org/en/doc....cts:Object

mfg martin

geschrieben von Eppi am 05.04.2006 - 15:21
Hallo Martin - vielen Dank! ich hab es über ein Array innerhalb der Klasse gelöst. Kurze Frage noch zu Deinem Beispiel. Ist diese Zeile unbedingt nötig?
this.object = this;
man kann doch auch ohne diese Zeile über this darauf zugreifen.

gruß, paul

geschrieben von Martin am 05.04.2006 - 19:05
Es funktioniert auch so. Aber zwecks des besseren Programmierstils und weil es der Standard hergibt sollte man es machen. Manchmal ist es auch wichtig. Besonders wenn man aus einer Klasse heraus eine interne Schleife mit setInterval oder setTimeout baut.

mfg martin

geschrieben von Eppi am 05.04.2006 - 19:29
ok, hast du dafür vielleicht ein kleines beispiel oder einen link?

gruß & danke, paul

geschrieben von Martin am 05.04.2006 - 19:35
http://developer.mozilla.org/en/doc....s:Function

geschrieben von Eppi am 05.04.2006 - 22:26
ok, da hätt ich jetzt aber auch drauf kommen können - vielen dank dir!

gruß, paul


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.