首頁  >  文章  >  web前端  >  IE7瀏覽器視窗大小改變事件執行多次bug及IE6/IE7/IE8下resize問題_jquery

IE7瀏覽器視窗大小改變事件執行多次bug及IE6/IE7/IE8下resize問題_jquery

WBOY
WBOY原創
2016-05-16 15:43:511171瀏覽

本文主要透過程式碼範例為大家介紹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問題,希望對大家有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn