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!
$(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');
One more better option
$(window).on("load resize",function(e){
function abc() {
// code here
}
});
Something like this??
function mySetupFunction() {
// stuff here.
}
$(document).ready(mySetupFunction);
$(window).resize(mySetupFunction);
来源:https://stackoverflow.com/questions/7404952/jquery-combine-ready-and-resize