作成した各間隔、タイムアウト、および requestAnimationFrame の ID を保持し、window.clearInterval(id)
それらを呼び出す必要があります。
それを行うためのverfyハック/ブルートフォースの方法は次のようになります:
for (var i = 1; i < 99999; i++) {
window.clearInterval(i);
window.clearTimeout(i);
window.mozCancelAnimationFrame(i); // Firefox
}
しかし、私はそれをお勧めしません。
アップデート:
一定時間後にそれを行うには:
setTimeout(function () {
for (var i = 1; i < 99999; i++) {
window.clearInterval(i);
window.clearTimeout(i);
window.mozCancelAnimationFrame(i); // Firefox
}
}, 3000); // After 3 seconds
更新 2:
タイムアウトなどのたびに参照を保持しない場合、ブルートフォースの方法よりも良い方法があるとは思わないので、それを少し簡単にするために(このSOの回答で示唆されているように)、次のことができますデフォルトの setInterval をオーバーライドします。
var intervals = new Array();
window.oldSetInterval = window.setInterval;
window.setInterval = function(func, interval) {
intervals.push(oldSetInterval(func, interval));
}
// Now you can loop over intervals and clear them
// one by one when ever you want to.
for (var interval in intervals) {
window.clearInterval(interval);
}
この例では、 に対してそれを行う方法を示していますsetInterval
が、もちろん、 に対しても同じ方法で行うことができsetTimeout
ますrequestAnimationFrame
。