window.timeout Objekt auf Existenz prüfen

Dieguito

Mitglied
wie kann ich denn dieses Objekt auf Existenz testen:

temp = window.setTimeout("function()", 10000);

Ich möchte wissen, ob dieses Objekt aktiviert ist, um es ggf. mit

clearTimeout(temp);

löschen zu können.

Wenn die 10000 MS abgelaufen sind, oder das temp noch nicht aktiviert wurde, gibt es den Fehler, dass das Objekt nicht existiert. Wie kann ich also seine Existenz testen?
 
Hi,

die Timeout-Variable erhält beim Start eine Nummer zugewiesen, anhand sie identifiziert werden kann. Wird der
Timeout abgebrochen, bleibt die Nummer jedoch bestehen. Damit muss für die Belegung selbst gesorgt werden.

Möglich wäre eine vorherige Definition auf einen Wert (null), der anzeigt, dass kein Timeout gestartet wurde. Wird
der Timerout angehalten, wird die Variable ebenfalls wieder auf diesen Wert gesetzt.

Beispiel:
Code:
<html>
<head>
<meta name="author" content="Quaese">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>www.tutorials.de</title>
<style type="text/css">
</style>
<script type="text/javascript">
  <!--
var hTimer = null;

function startTimer(){
  hTimer = window.setTimeout("theFunc()", 5000);
}

function stopTimer(){
  if(hTimer != null){
    window.clearTimeout(hTimer);
    hTimer = null;
  }
}

function theFunc(){
  alert("Timeout abgelaufen");
}

function getTimerVal(){
  alert(hTimer);
}
 //-->
</script>
</head>

<body>
<button onclick="getTimerVal();">getTimerType</button>
<button onclick="startTimer();">startTimer</button>
<button onclick="stopTimer();">stopTimer</button>
</body>
</html>
Ciao
Quaese
 
Danke für Deine Antwort.

Die Browser können offensichtlich Timer nicht aus Childframes ansprechen. Legt man eine Function, die den Timer abschaltet, in das Parentframe und ruft dieses aus dem Child auf
parent.document.timerAbschalten();
funktioniert es jedoch, habe ich festgestellt.
 

Neue Beiträge

Zurück