[JS] 取消所有 setTimeout 和 setInterval方法程序

1 / 29, 2015 JS

最近 Coding 時遇到一個問題,怎麼取消所有 setTimeout 程序,單一的程序可以透過指派變數,然後 cleartimeout 來解決,如果一次要取消所有,大可以全部設定變數,但是這樣不只會讓 Code 更複雜,而且也討厭,尤其是動態生成的 setTimeout ,很難掌控,有個 Hack 可以輕易解決這個問題。

這是在 Stackoverflow 上找到的

如此一來所有 setTimeout 都被暫停了,不過請注意這種方式無法指定要移除哪個程序,會全部移除掉,要注意有沒有不想被移除的程序,如果有可能就只能土法煉鋼慢慢設定變數了


2015/2/28 更新:
由於有網友問這種方法能不能用在 setInterval ,所以我就直接把 Code 放上來了,基本上原理一模一樣,只是把 Timeout 改成 Interval 而已

  • Well

    請問… setTimeInterval 有類似的方法嗎?

    • s3131212

      有,已經放在文中了