window.resizeハンドラーにタイムアウトを割り当てて、サイズ変更イベントが発生するたびにかなりの量のサイズ変更コードを呼び出さないようにしました。私のコードは次のようになります。
<script>
function init() {
var hasTimedOut = false;
var resizeHandler = function() {
// do stuff
return false;
};
window.onresize = function() {
if (hasTimedOut !== false) {
clearTimeout(hasTimedOut);
}
hasTimedOut = setTimeout(resizeHandler, 100); // 100 milliseconds
};
}
</script>
<body onload="init();">
...
etc...
IE7(および場合によっては他のバージョン)では、これを行うと、サイズ変更イベントが常に発生するようです。より正確には、タイムアウト期間ごとに起動します。この場合は100ミリ秒です。
この動作を停止する理由または方法について何かアイデアはありますか?1回のサイズ変更で発生するすべてのサイズ変更イベントに対してサイズ変更コードを呼び出さないほうがいいのですが、これはさらに悪いことです。