跟踪滚动事件上的页码
Keeping track of page number on scroll event
我有一个网页,它将在加载时加载第一页的内容。一旦用户滚动页面,我就会使用 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>
.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);
});
相关文章:
- 只覆盖箭头键滚动事件
- Javascript如何找到滚动事件的来源
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- jquery/ajax无限滚动事件
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 如何用javascript调用函数,然后在滚动事件中调用该函数的特定实例
- 从父元素取消绑定滚动事件并绑定到子元素
- JavaScript/jQuery未触发滚动事件
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- AngularJS窗口滚动事件未触发
- 正在阻止滚动事件
- JavaScript 事件处理具有延迟的滚动事件
- 在画布上创建滚动事件
- 如何由于浏览器的平滑滚动而忽略大量滚动事件
- onclick滚动事件-语法
- 带有滚动事件的Javascript集翻译速度较慢
- 在firefox上的滚动事件中移动元素
- 鼠标滚轮事件和滚动事件相互冲突
- 滚动事件运行缓慢-有没有更轻松的方法