jQuery combine .ready and .resize
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, ho开发者_如何学Pythonw 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);
The following code might be helpful to do things after resize is ready
.
var resizeTimer;
$(window).on('resize', function(e) {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
// Run code here after resizing has done
}, 250);
});
Here is the issue with the following that the code is running while resize is under going.
$(window).on('resize', function(e) {
// Run code here while resizing is under going
});
精彩评论