0

私は関数を持っていて、foo()以下のように3回で呼び出したい

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

foo();

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

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

3つの状況すべてでそれを呼び出す簡単な方法があるかどうか知りたい.

4

2 に答える 2

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

        // function code goes here

    }, delay||300);
};

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

foo(0);
于 2013-11-09T18:47:47.630 に答える
1

foo で setTimeout を頻繁に使用する場合は、引数を追加して関数内に移動してみませんか?

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);
});
于 2013-11-09T18:52:45.430 に答える