我有这个代码,我需要多次调用一个函数。
$(window).resize(function() {
centerBox();
});
$(window).scroll(function() {
centerBox();
});
centerBox();
我意识到这非常混乱。有没有更好的方法来写这个?
答案 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();