Habe folgendes Problem: Ich habe ein Objekt namens "MyCounter" definiert, welches selbständig ein Fenster öffnet und in diesem einen Zählen hochzählt. Das Objekt wird mit
dem Startwert des Zählers und dem Namen der konkreten Objekt-Variablen initialisiert.
Nachdem das Objekt die Werte abgelegt und das Fenster geöffnet hat, ruft es in nach einem
bestimmten Zeitintervall seine eigene Methode "showCounter()" auf. Damit dieses so funktioniert, muß ich jedoch dem Objekt den Namen der Variablen mitteilen, die das Objekt initialisiert. (siehe Code: FirstCounter = new MyCounter(10,'FirstCounter');).
Jetzt meine Frage: Kennt jemand eine Möglichkeit, mit der ich mir die Übergabe des Variablennames ersparen kann ?
Hier der Code:
<html>
<head>
<title>MyCounter</title>
<script language="javascript">
<!--
function MyCounter(StartValue,NameOfObject) {
this.StartValue = StartValue;
this.NameOfObject = NameOfObject;
this.showCounter = showCounter;
this.stopWin = stopWin;
this.CounterWin = window.open("",this.NameOfObject,"height=100,width=100");
this.CounterWin.document.open("text/plain");
this.showCounter();
this.ID = window.setInterval(this.NameOfObject+".showCounter()",1000);
}
function showCounter() {
this.CounterWin.document.writeln(this.StartValue);
this.StartValue++;
}
function test() {
FirstCounter = new MyCounter(10,'FirstCounter');
SecondCounter = new MyCounter(10,'SecondCounter');
}
function stopWin() {
window.clearInterval(this.ID);
}
//-->
</script>
</head>
<body>
<a href="javascript:test();">
start counter</a>
<br>
<a href="javascript:FirstCounter.stopWin();SecondCounter.stopWin();">
stop counter</a>
</body>
</html>