Frage

Vor diesem Code:

bob = setInterval(function, 1000);
clearInterval(bob);

Gibt es nun eine Möglichkeit, zu wissen, ob das Intervall gelöscht worden ist?

Derzeit verfolge ich das selbst, durch unsetting ‚bob‘, aber ich bin gespannt, ob meine zusätzliche Codezeile ist nicht notwendig:

clearInterval(bob);
bob = null;
if (!bob) itIsCleared();

Danke!

War es hilfreich?

Lösung

Der Rückgabewert von setInterval ist nur eine eindeutige ID Sie verwenden zurück zu clearInterval passieren. Es ist nicht ein strukturiertes Objekt mit zusätzlichen Informationen, auch nicht fertig auf null, wenn Sie clearTimeout nennen.

Andere Tipps

bob enthält nur eine ID des Intervalls verwendet, es zu löschen. Wenn Sie clearInterval rufen, wird es das Intervall mit dieser ID zugeordnet ist, und löscht sie. Die ID wird nicht verändert.

sehen hier zur Demonstration

Beispiel:

<html>
<head>
<title>Javascript clearInterval</title>
</head>
<body onload="startInterval();">

<center>
    <div id="myTime"></div>

    <input type="button" value="start Interval" onclick="startInterval();" />

    <input type="button" value="stop Interval" onclick="stopInterval();" />
</center>

<script language="javascript">

var interval;

function startInterval()
{
    // setInterval of 1000 milliseconds i.e. 1 second
    // to recall the startTime() method again n again
    interval = setInterval("startTime();", 1000);
}

function startTime()
{
    // Date object to get current time
    var timeFormat = new Date();

    // set the current time into the HTML div object.
    document.getElementById('myTime').innerHTML = timeFormat.toLocaleTimeString();
}

function stopInterval()   //***********IMPORTANT FUNC******************
{
    // clearInterval to stop the setInterval event
    alert(interval);  
    clearInterval(1);

}

</script> 

</body>
</html>

Dies zeigt Ihnen das Intervall von id (zurückgegeben von setInterval früher). Wenn Sie das Intervall von id wissen 1 ist, können Sie einfach verwenden clearInterval (1), um das Intervall zu löschen. So Weg Einstellung bob der Verwendung auf null ist ein guter Weg, es zu tun. Seien Sie sicher, dass Bob nicht wahr zurückgibt, wenn der bob 0 passiert sein: D

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top