我有一个网页,将在加载时加载第一页的内容。一旦用户滚动页面,我就使用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;
});
答案 0 :(得分:1)
试试这个 Example
需要一些修改,因为还要计算UP滚动
<强> HTML 强>
<div>Try scrolling the iframe.</div>
<p>Paragraph - <span>Scroll happened!</span></p>
<强> JS 强>
$( "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);
});