你如何降低
javascript事件轮询的频率?我关注的事件是onResize和onScroll.当有人调整浏览器大小或向下滚动时,这些事件可能会每秒触发几十次.我希望这些事件每500毫秒才会发生一次,所以我不必花费数小时优化我的事件处理程序并确保它们不会泄漏内存.
解决方法
- var resizeTimeout;
- window.onresize = function() {
- if (resizeTimeout) {
- clearTimeout(resizeTimeout);
- }
- resizeTimeout = setTimeout(function() {
- // Do it!
- },500);
- });
在完成调整大小后,这将触发setTimeout()函数〜500ms.
onscroll版本非常相似:)