我的jQuery .ready函数中的一些(几乎所有)代码也适用于调整窗口大小时,因为它的布局工作。但是,由于它是相同的代码,我怎么能“组合”这两个函数,以便我的代码不会重复(并且维护一团糟)?
谢谢!
答案 0 :(得分:47)
$(document).ready(myfunction);
$(window).on('resize',myfunction);
function myfunction() {
// do whatever
}
另一种技巧是.trigger()
一个事件在另一个事件中:
$(window).on('resize',function() {
// do whatever
});
$(document).ready(function() {
$(window).trigger('resize');
});
如果您将代码放在页面底部以避免需要$(document).ready
,则会更简单:
$(window).on('resize',function() {
// do whatever
}).trigger('resize');
答案 1 :(得分:8)
还有一个更好的选择
$(window).on("load resize",function(e){
function abc() {
// code here
}
});
答案 2 :(得分:7)
这样的东西?
function mySetupFunction() {
// stuff here.
}
$(document).ready(mySetupFunction);
$(window).resize(mySetupFunction);
答案 3 :(得分:0)
以下代码可能有助于在 resize is ready
之后执行操作。
var resizeTimer;
$(window).on('resize', function(e) {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
// Run code here after resizing has done
}, 250);
});
以下是代码在调整大小时正在运行的问题。
$(window).on('resize', function(e) {
// Run code here while resizing is under going
});