jQuery combine .ready and .resize

2019-01-21 20:30发布

Some (well, nearly all) of my code that is in my jQuery .ready function also applies when the window is resized, as it's layout work. However, since it's the same code, how could I "combine" the two functions, so that my code doesn't repeat itself (and be a mess to maintain)?

Thanks!

3条回答
Luminary・发光体
2楼-- · 2019-01-21 20:55
$(document).ready(myfunction);
$(window).on('resize',myfunction);

function myfunction() {
    // do whatever
}

Another technique is to .trigger() one event inside the other:

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

If you put your code at the bottom of the page to avoid needing $(document).ready, it gets even simpler:

$(window).on('resize',function() {
    // do whatever
}).trigger('resize');
查看更多
forever°为你锁心
3楼-- · 2019-01-21 20:55

One more better option

$(window).on("load resize",function(e){
  function abc() {
    // code here
  }
});
查看更多
Root(大扎)
4楼-- · 2019-01-21 20:58

Something like this??

function mySetupFunction() {
    // stuff here.
}

$(document).ready(mySetupFunction);
$(window).resize(mySetupFunction);
查看更多
登录 后发表回答