web-dev-qa-db-ja.com

jQueryは.readyと.resizeを組み合わせます

JQuery .ready関数に含まれるコードの一部(まあ、ほぼすべて)は、レイアウト作業のため、ウィンドウのサイズが変更されたときにも適用されます。しかし、同じコードなので、2つの関数を「結合」して、コードが繰り返されないようにする(そして維持するのが面倒になる)にはどうすればよいでしょうか。

ありがとう!

18
user825286
_$(document).ready(myfunction);
$(window).on('resize',myfunction);

function myfunction() {
    // do whatever
}
_

もう1つの手法は、1つのイベントを他のイベント内で.trigger()することです。

_$(window).on('resize',function() {
    // do whatever
});
$(document).ready(function() {
    $(window).trigger('resize');
});
_

$(document).readyが不要になるようにコードをページの下部に配置すると、さらに簡単になります。

_$(window).on('resize',function() {
    // do whatever
}).trigger('resize');
_
48
Blazemonger

もう1つのより良いオプション

$(window).on("load resize",function(e){
  function abc() {
    // code here
  }
});
9
karan mehta

このようなもの??

function mySetupFunction() {
    // stuff here.
}

$(document).ready(mySetupFunction);
$(window).resize(mySetupFunction);
7
mellamokb