jQuery结合.ready和.resize

时间:2011-09-13 16:03:44

标签: jquery resize ready

我的jQuery .ready函数中的一些(几乎所有)代码也适用于调整窗口大小时,因为它的布局工作。但是,由于它是相同的代码,我怎么能“组合”这两个函数,以便我的代码不会重复(并且维护一团糟)?

谢谢!

4 个答案:

答案 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
});