- Published on
setIntervalを条件に応じて無効にする方法(Javascript)
setInterval
で何らかの処理をさせて、ある条件を満たしたらintervalを終えたい場合があるかと思います。
今回は、どうやったらsetInterval
無効化できるのかを紹介したいと思います。
やり方はとても簡単で、clearInterval
を下記のように使えばできます。
var counter = 0 var timer = setInterval(function() { console.log(counter) if (counter === 5) { clearInterval(timer); // 無効化するときはsetintervalのタイマーをclearIntervalに渡してあげるだけです。 } counter += 1 }, 200);
これは何らかの値を取得してき、期待すべき値が取れたときにやめるなどができるので、 結構応用できるかと思います。
[参考: Can clearInterval() be called inside setInterval()?([https://stackoverflow.com/a/16599921/2606557)