窗口调整大小和init一起运行

时间:2014-05-03 21:08:10

标签: javascript

我知道我在这里读过一些关于这个的东西,或者说我错了,但是有没有办法说一下如果调用一个函数,或者在init和on window resize上运行一个代码,从一行开始? 我的意思是,而不是:

if (somecondition){
    console.logo('runs on init');
};
$(window).resize(function(){    
    if (somecondition){
        console.logo('same condition runs on resize');
    };
};)

可以这样编写:

window(init,resize){
    if (somecondition){
        console.logo('runs both on init and resize');
    };
}

不知道这是否完全存在,甚至存在,是因为它确实令人讨厌,因为它确实让一大堆代码在初始和重新调整大小的地方复制它。

谢谢!

2 个答案:

答案 0 :(得分:2)

然后创建一个函数......像这样

var someAction = function(){
     console.log('runs both on init and resize');
};

if (somecondition) {
    someAction();
}

$(window).resize(someAction);

答案 1 :(得分:1)

最好我能想到的就是将你想要执行的所有代码放到一个命名函数中,例如:

function namedFunc() {
  if (somecondition){
    console.logo('runs on init');
  };
}

然后一次性向窗口添加两个事件侦听器,并将它们传递给命名函数。

$(window).on({
  ready: namedFunc,
  resize: namedFunc
});