問題:
頁面自適應的時候需要用到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); });