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