任何方式短代码我的自定义功能?

时间:2013-11-09 18:44:45

标签: javascript jquery

我有一个函数foo(),想要三次调用它

function foo() {
  // function code goes here
}

foo();

$(window).resize(function() {
  setTimeout(function(){foo();}, 300);
});

$('#div').scroll(function() {
  setTimeout(function(){foo();}, 300);
});

我想知道在所有三种情况下是否有任何简短的方法来调用它。

2 个答案:

答案 0 :(得分:1)

function foo(delay) {
    setTimeout(function() {

        // function code goes here

    }, delay||300);
};

$(window).on('resize', foo);
$('#div').on('scroll', foo);

foo(0);

答案 1 :(得分:1)

如果你使用foo很多的setTimeout,为什么不用额外的arg在函数内部移动呢?

function foo(time) {
    time = time ? time : 0;    //default of 0
     setTimeout(function(){
          // function code goes here
    }, time);
}

foo();

$(window).resize(function() {
  foo(300);
});

$('#div').scroll(function() {
  foo(400);
});