问题:
页面自适应的时候需要用到js的resize事件,但在执行过程中发现只要触发resize事件就会执行2次
原生js: window.onresize = function(){ console.log("窗体发生改变1"); }
Jquery: $(window).resize(function(){ console.log("窗体发生改变2"); })
解决办法:
通过增加定时器的方式来让代码延迟执行,并且每次都清除事件,所以不管怎么拖动改变窗体大小都只会执行一次
var resizeTimer = null; $(window).resize(function(){ if (resizeTimer) clearTimeout(resizeTimer); resizeTimer = setTimeout(function(){ console.log("窗体发生改变了"); } , 100); });