jQuery.fn.resize
ウィンドウのサイズを変更している間ではなく、マウスボタンを離した後にのみコンテンツを実行したい。
サイズ変更時にonmousedownを入れてみましたが、うまくいきませんでした。
$(window).resize(function(){
console.log("resizing")
});
jQuery.fn.resize
ウィンドウのサイズを変更している間ではなく、マウスボタンを離した後にのみコンテンツを実行したい。
サイズ変更時にonmousedownを入れてみましたが、うまくいきませんでした。
$(window).resize(function(){
console.log("resizing")
});
ドキュメントの外で何が起こっているのかを知ることはできず、サイズ変更が終了しても通知されません (サイズ変更は多くの方法で発生する可能性があり、すべてがマウス ベースであるとは限りません)。
しかし、同じ効果のためにタイマーを追加することができます:
(function(){
var timer;
$(window).resize(function(){
if (timer) clearTimeout(timer);
timer = setTimeout(function(){
// do the things
}, 200);
});
})();
これにより、わずかな遅延が追加されます (200 ミリ秒で問題ありません) が、これにより、ほとんどの中間再計算が回避されます。
JavaScript 関数の実行中はイベントを受け取らないことに注意してください。したがって、サイズ変更中にユーザーに何も見えないようにしたい場合を除き、通常はこれを行う必要はありません。