ホームページ >ウェブフロントエンド >jsチュートリアル >IE7 ブラウザのウィンドウ サイズ変更イベントが複数回実行されるバグと、IE6/IE7/IE8_jquery でのサイズ変更の問題
この記事では主にコード例を使用して、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 でのサイズ変更の問題に焦点を当てた記事です。皆様のお役に立てれば幸いです。