0

スクロール中にさらにhtmlコンテンツをDIVホルダーに追加するためにwindow.scroll()関数を使用しています。各スクロールイベントでそれぞれ10..10をロードしています。しかし、最初の 10 個のコンテンツを読み込んだ後、ドキュメントのサイズが大きくなり、それに応じてブラウザが自動的にスクロールし、loadContent 関数を呼び出して、手動でスクロールせずに新しいコンテンツを追加します。このメカニズムを防ぐにはどうすればよいですか。ユーザーがボタンをスクロールします。

$(function(){
  var loading = true;
  $(window).scroll(function(){
  if ( loading && $(window).scrollTop() + $(window).height() > $(document).height() - 100 ){
        loading = false;
        loadContents();
        loading = true;
 }
 });
 )};

無限スクロール機能を実行するための他の良い方法はありますか?

4

1 に答える 1

1

通常、あなたがやっているようなブールフラグを使用すると、これを処理する方法になります。通常、データは ajax を使用して入力されますが、それloadingが変更される場所です。あなたの価値観loadingも逆のようです。

$(function(){
    var loading = false;
    $(window).scroll(function(){
        if ( !loading && $(window).scrollTop() + $(window).height() > $(document).height() - 100 ){
            loading = true;
            loadContents();
        }
    });

    function loadContents() {
        $.ajax({
            ...,
            success: function () {
                // add new data
                loading = false;
            }
        });
    }
)};
于 2013-04-05T07:36:49.073 に答える