0

ユーザーが下にスクロールしたときに新しいajax呼び出しを行うためのこのスクリプトがあります。しかし、それを一度行う方法。ユーザーが高速にスクロールすると、同じデータを使用したnajax呼び出しになります。

 $(window).scroll(function(){

            whenTo=$(window).scrollTop();

        if(whenTo>=($(document).height()-($(window).height())-600)){
// make ajax call
}


});
4

2 に答える 2

0

すでに実行されているかどうかをチェックするブール値を追加するのはどうですか?

例えば:

var hasLoaded = false;
$(window).scroll(function(){

        whenTo=$(window).scrollTop();

        if(!hasLoaded && (whenTo>=($(document).height()-($(window).height())-600))){
            hasLoaded = true;
            // make ajax call
        }
});

このメソッドを使用すると、必要に応じてajaxを再度呼び出せるようにするときに、変数をfalseに変更できます。

于 2012-07-03T22:56:46.810 に答える
0

Underscore.jsを使用するか、_.throttle()または_.debounce()–関数を繰り返し呼び出すか、1回だけ呼び出すと仮定します_.once()

于 2012-07-03T22:58:19.917 に答える