2009-05-04 24 views
1

私は$(window).scroll();を使用しています。ユーザーが上または下にスクロールしすぎるときに呼び出す関数を指定します。待機中の関数が実行を再試行する前に実行を終了しました。

この関数は実行に1秒かかるため、スクロールを続けると、最初のものが終了する前に複数回実行されます。

関数を実行させてから、その関数を再度実行する前に待つ必要のある$(window).scroll()関数に伝える方法はありますか?

答えて

3

あなたは既にスクロール位置をチェックしているブール値を設定できます。

checkingPosition = false; 
$window.scroll(function() { 
    if(checkingPosition) return; 
    checkingPosition = true; 
    //do stuff 
    checkingPosition = false; 
}); 
+0

checkingPosition = falseを追加する必要があります。後に// stuffを行う –

+0

関数の実行が終了したらfalseに戻すことを忘れないでください –

1

私はオブジェクトにデータをカプセル化することによって、スコープの問題/混乱を避けるために、このような何かをしたいが...これで場合、jQueryオブジェクト(ウィンドウ要素上):

...しかしそれは私です。

関連する問題