ホームページ >ウェブフロントエンド >jsチュートリアル >IE7 ブラウザのウィンドウ サイズ変更イベントが複数回実行されるバグと、IE6/IE7/IE8_jquery でのサイズ変更の問題

IE7 ブラウザのウィンドウ サイズ変更イベントが複数回実行されるバグと、IE6/IE7/IE8_jquery でのサイズ変更の問題

WBOY
WBOYオリジナル
2016-05-16 15:43:511254ブラウズ

この記事では主にコード例を使用して、IE7 ブラウザのウィンドウ サイズ変更イベントが複数回実行されるバグと、IE6/IE7/IE8 でのサイズ変更の問題を段階的に紹介します。まず、IE7 ブラウザのウィンドウ サイズについて説明します。変更イベントが複数回実行されるバグ。具体的な問題分析と解決策については、以下を参照してください。

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 でカプセル化されていても、このバグは発生します

IE6/IE7/IE8 の JQuery で複数回実行されるサイズ変更イベントの解決策

jQuery のサイズ変更イベントを使用すると、ブラウザのウィンドウ サイズが変更されるたびにサイズ変更時間が 2 回実行されることがわかり、Baidu で検索して解決策を見つけました。

この問題を解決するには 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 ブラウザーのウィンドウ サイズ変更イベントの複数実行のバグと、IE6/IE7/IE8 でのサイズ変更の問題に焦点を当てた記事です。皆様のお役に立てれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。