JQuery获得更多的表行上滚动
JQuery Get More Table Rows on Scroll
我有一个表,其中列出了客户以前的购买记录。当客户只从我们这里购买了200-300件物品时,下面的代码效果很好。然而,当我们有经销商每周从我们这里购买超过5000件商品时,这就变得非常麻烦了。是否有一种方法可以在需要时将更多行加载到表的底部?将10,000条记录抓取并加载到一个表中非常非常慢。理想的解决方案是最初获取30行并将它们加载到表中,当屏幕上可以看到倒数第4行时,再获取另外30行。任何想法吗?下面是加载所有结果的当前代码:
JQuery: var data = JSON.parse(call.responseText);
if(data[0] === 'none') { $('#purchaseHistory').html('<center><b>There is no purchase history to show.</b></center>'); return; }
var purchases = data.length;
$('#purchaseHistory').empty();
for(i = 0; i < purchases; i++) {
$('#purchaseHistory').append('<tr ondblclick="popup(''order.php?order='+data[i]['ORDER']+'&cust='+CUSTOMER_ID+''', ''Order #'+ data[i]['ORDER'] +''', ''1150'', ''845'');"><td style="width: 60px;">'+ data[i]['ORDERNO'] +'</td><td style="width: 100px;">'+data[i]['ORDER_DATE'] +'</td><td style="width: 100px;">'+data[i]['PRODCODE']+'</td><td style="width: 170px;">'+ data[i]['ITEM'] +'</td><td style="width: 25px;">'+ data[i]['QUANTITY'] +'</td><td style="width: 120px;">'+ data[i]['STATUS'] +'</td><td style="width: 75px;">'+ data[i]['SHIP_DATE'] +'</td><td style="width: 60px;">---</td><td style="width: 70px;">'+ data[i]['AMOUNT'] +'</td><td style="width:85px;">---</td></tr>');
}
添加滚动窗口的监听器:
$(window).scroll(function() {});
这可以帮助你知道用户何时接近页面底部。
您的后端应该能够分页,按块检索数据,这样您就可以在用户到达页面底部时将结果附加到表中,从而发出AJAX请求。
这里有一个你如何实现的例子。
https://jsfiddle.net/eojdzc3o/相关文章:
- Image赢得't隐藏在滚动jQuery上
- 无限滚动jquery不起作用
- 如何在水平滚动 Jquery 上实现延迟加载
- 在Firefox中快速滚动jQuery
- 触摸板滚动jQuery的问题
- 无限滚动jquery插件不起作用
- 如何仅在每次单击可滚动(jquery工具)中的导航按钮时加载图像,而不是一次加载所有图像
- 停止页面滚动 jquery
- 自动滚动 Jquery
- 动画滚动jquery不工作
- 导航锚点不'滚动jQuery时不能正确应用活动类
- 平滑滚动jquery插件在刷新时重置滚动起点.有办法解决这个问题吗
- 当用户滚动jquery时,停止ScrollTop功能
- 阻止自动向下滚动Jquery
- 水平滚动jQuery固定导航
- 平滑滚动jquery+修复导航错误
- 使用淡入淡出滚动jQuery效果的2列浮动画廊
- 无限滚动jQuery &Laravel 5分页
- 防止窗口滚动jquery
- 返回页首滚动jquery在chrome中不起作用.为什么?它在firefox中运行良好