本文主要透過程式碼範例為大家介紹IE7瀏覽器視窗大小改變事件執行多次bug及IE6/IE7/IE8下resize問題;逐步介紹,先介紹IE7瀏覽器視窗大小改變事件執行多次bug,具體問題分析及解決方案請看下文。
var resizeTimer = null; $(window).resize(function() { if (resizeTimer) clearTimeout(resizeTimer); resizeTimer = setTimeout("alert('mm')", 500); });
還有一個透過判斷變數的奇偶來解決(感覺這方法還好)
程式碼如下:
var n=0; $(window).resize(function(){ if(n%2==0){ alert("mm"); } n++; });
無論是jquery封裝的還是js原生的都會產生此bug
IE6/IE7/IE8 JQuery下resize事件執行多次的解決方法
在使用jQuery的resize事件時發現每次改變瀏覽器的視窗大小時resize時間會執行兩次,百度搜尋了一下找到一個解決的方法,
使用setTimeout來解決這個問題程式碼如下:
var resizeTimer = null; $(window).resize(function() { if (resizeTimer) clearTimeout(resizeTimer); resizeTimer = setTimeout("alert('mm')", 500); });
還有一個透過判斷變數的奇偶來解決(感覺這方法還好),程式碼如下:
var n=0; $(window).resize(function(){ if(n%2==0){ alert("mm"); } n++; });
以上就是本文針對IE7瀏覽器視窗大小改變事件執行多次bug及IE6/IE7/IE8下resize問題,希望對大家有幫助。