Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跟踪滚动事件上的页码_Javascript_Jquery_Ajax_Html - Fatal编程技术网

Javascript 跟踪滚动事件上的页码

Javascript 跟踪滚动事件上的页码,javascript,jquery,ajax,html,Javascript,Jquery,Ajax,Html,我有一个网页,这将与加载的第一页的内容加载。一旦用户滚动页面,我将使用ajax调用加载其余页面的内容。这里出错的是,我有一个变量,它将被初始化为2(因为第一页是在加载页面时加载的),以跟踪页码。我的想法是,一旦用户滚动,我就会增加这个变量,这样它就会指向下一页。但它不起作用。在ajax调用结束之前,它将递增。所以它漏掉了很多页。有人能告诉我更好的方法吗?这是密码 var pageNo = 2; $(window).scroll(function() { if($(window).scrollT

我有一个网页,这将与加载的第一页的内容加载。一旦用户滚动页面,我将使用ajax调用加载其余页面的内容。这里出错的是,我有一个变量,它将被初始化为2(因为第一页是在加载页面时加载的),以跟踪页码。我的想法是,一旦用户滚动,我就会增加这个变量,这样它就会指向下一页。但它不起作用。在ajax调用结束之前,它将递增。所以它漏掉了很多页。有人能告诉我更好的方法吗?这是密码

var pageNo = 2;

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

    console.log('pageNo ' + pageNo);
    $.ajax({
        type: 'POST',
        cache: false,
        dataType: 'json',
        url: 'url'+pageNo,
        success: function(data, status, xhr) {
        $.each(data,function(i, item) {
           var tp = $('content');
           $('#trpcontainer').append(tp);
        });
    },
    error: function(jqXHR, textStatus, errorThrown) {

    }
});
}
  pageNo = pageNo + 1;
}); 
试试这个

需要一些修改,因为还需要向上滚动计数

HTML

  <div>Try scrolling the iframe.</div>
  <p>Paragraph - <span>Scroll happened!</span></p>

只要把
pageNo=pageNo+1
success:
回调中,ajax表示异步。javascript不会等到ajax完成。所以,这是非常糟糕的做法。当用户使用滚轮时,会触发很多滚动事件,这意味着您生成了很多ajax触发器。使用寻呼机代替,并进行点击功能是的,但要求是这样的。我知道这是一个糟糕的做法,这就是为什么我要求一个更好的方法来做同样的事情。无论如何,将increment语句放在success中也没有帮助。
  $( "p" ).clone().appendTo( document.body );
  $( "p" ).clone().appendTo( document.body );
  $( "p" ).clone().appendTo( document.body );
  $( "p" ).clone().appendTo( document.body );
  $( "p" ).clone().appendTo( document.body );
  var pag=0; 
  $( window ).scroll(function() {
  pag+=1;
  $( "span" ).css( "display", "inline").append(pag); 
  });