在jQuery中多次调用函数是一种好习惯吗?

时间:2012-03-19 12:15:35

标签: jquery function

我有这个代码,我需要多次调用一个函数。

    $(window).resize(function() {
    centerBox();
}); 

$(window).scroll(function() {
    centerBox();
}); 

centerBox();

我意识到这非常混乱。有没有更好的方法来写这个?

4 个答案:

答案 0 :(得分:5)

您可以将代码缩小为3行:

$(window).resize(centerBox);
$(window).scroll(centerBox);
centerBox();

当然,您必须在顶部

定义您的功能

或者你也可以通过组合它在2行中使用它,但这也会有点混乱:

$(window).resize(centerBox).scroll(centerBox);
centerBox();

答案 1 :(得分:4)

var f = function() {
    centerBox();
};

$(window).resize(f).scroll(f);
f();

答案 2 :(得分:3)

我觉得它不凌乱;它准确描述了你想要做的事情。也就是说,您可以将其缩短为:

$(window).resize(centerBox).scroll(centerBox);
centerBox();

进一步

$(window).resize(centerBox).scroll(centerBox).trigger('resize');

甚至更进一步

$(window).on("resize scroll", centerBox).trigger('resize');

因为.on支持绑定多个事件,如果它们的名称是空格分隔的。

答案 3 :(得分:2)

你可以绑定+呼叫;

$(window).on("scroll resize", centerBox).scroll();