0

我在 jquery 中有这段代码,它的编写方式是当我向下滚动鼠标时,会从 db 中获取下一组记录并显示出来。最初我的页面显示 25 条记录,当我向下滚动下一个 15 条记录时,r 从 db 中获取。我的问题是,每当调用滚动功能时,我都无法设置计数器并增加计数器。而且每当我向下滚动时,都会显示相同的 15 条记录。这是我的代码...

$(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 回答