質問

このコードが与えられます:

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

今その間隔がクリアされたかどうかを知る方法はありますか?

現在、私は「bob」を設定解除することによって、自分自身これを追跡するが、コードの私の余分なラインが不要な場合、私は興味ます:

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

ありがとうございます。

役に立ちましたか?

解決

setIntervalの戻り値は、あなたが戻っclearIntervalに渡すために使用するだけのユニークなID のです。これは、任意の追加情報を構造化されたオブジェクトではありません、またそれは、あなたがclearTimeoutを呼び出すときにnullに設定を取得ん。

他のヒント

ボブは、それをクリアするために使用される間隔のIDが含まれています。 clearIntervalを呼び出すと、そのIDに関連付けられた間隔を取得し、それをクリアします。 idは全く変更されません。

例:

<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>

このはあなたに(以前のsetIntervalで返される)間隔のIDが表示されます。あなたは間隔のidが1であることがわかっている場合、あなただけの間隔をクリアするためてclearInterval(1)を使用することができます。だから、nullに設定ボブを使用してのあなたの方法は、それを行うための良い方法です。 !のちょうどボブがあることを起こる場合は、ボブがtrueを返さないことを確認してください0:D

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top