1

jQuery.fn.resizeウィンドウのサイズを変更している間ではなく、マウスボタンを離した後にのみコンテンツを実行したい。

サイズ変更時にonmousedownを入れてみましたが、うまくいきませんでした。

$(window).resize(function(){           
    console.log("resizing")
});
4

1 に答える 1

1

ドキュメントの外で何が起こっているのかを知ることはできず、サイズ変更が終了しても通知されません (サイズ変更は多くの方法で発生する可能性があり、すべてがマウス ベースであるとは限りません)。

しかし、同じ効果のためにタイマーを追加することができます:

(function(){
   var timer;
   $(window).resize(function(){
        if (timer) clearTimeout(timer);
        timer = setTimeout(function(){
           // do the things
        }, 200);
   });
})();

これにより、わずかな遅延が追加されます (200 ミリ秒で問題ありません) が、これにより、ほとんどの中間再計算が回避されます。

JavaScript 関数の実行中はイベントを受け取らないことに注意してください。したがって、サイズ変更中にユーザーに何も見えないようにしたい場合を除き、通常はこれを行う必要はありません。

于 2013-06-07T08:42:56.070 に答える