0

このコードはjqueryにあり、マウスを下にスクロールすると、次のレコードセットがdbから取得されて表示されるように記述されています。最初に私のページには 25 のレコードが表示されます。下にスクロールすると、次の 15 のレコードが db から取得されます。私の問題は、スクロール機能が呼び出されるたびにカウンターを設定してカウンターをインクリメントできないことです。また、同じ15個のレコードを下にスクロールすると、rが表示されます。これは私のコードです...

$(window).on('scroll',function(){
  if($(window).scrollTop()==($(document).height()-$(window).height())){

    $.ajax({
        type: 'POST',
        url: 'getdata.php',
        success: function(nxt_data){
           $('#data').append(nxt_data);
        }
    });
  } 
}); 
4

2 に答える 2

2

ページ変数を作成し、ajax が呼び出されるたびに追加します。

var page = 1;
$(window).on('scroll', function () {
  if ($(window).scrollTop() == ($(document).height() - $(window).height())) {
    page++;

    $.ajax({
      type: 'POST',
      data: 'page=' + page,
      url: 'getdata.php',
      success: function (nxt_data) {
        $('#data').append(nxt_data);
      }
    });
  }
});
于 2013-01-12T07:08:28.640 に答える
1

あなたの問題は、getdata.php が返すレコードを知る方法がないため、同じ 15 行を返すだけのようです。

var counter=25;

$(window).on('scroll',function(){
  if($(window).scrollTop()==($(document).height()-$(window).height())){

    $.ajax({
        type: 'GET',
        url: 'getdata.php?start_row=' + counter,
        success: function(nxt_data){
           $('#data').append(nxt_data);
           counter += 15;
        }
    });
  } 
}); 

PHP ファイルでは、次を使用してカウンター変数にアクセスできます。$_GET['start_row'];

于 2013-01-12T07:10:23.410 に答える