clearIntervalが呼び出されたかどうかを確認しますか?
-
16-09-2019 - |
質問
このコードが与えられます:
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
所属していません StackOverflow