根据滚动位置加载表中的内容
Loading content in table based upon scrolling position
我正在使用jQuery,并且我已经用overflow:scroll
设置了一个具有特定高度的表。我想知道我应该访问什么,以便知道何时从服务器加载更多数据(我不需要ajax调用或加载实际数据的帮助)。相反,我试图了解如何知道我的滚动位置,或者何时接近数据底部(这样我就可以提前加载更多)。
那么,我如何知道何时根据滚动位置加载更多数据?
以下是一个使用非标准(但广泛支持)scrollHeight
属性的解决方案:
$("table").on("scroll", function(event) {
var $elem = $(event.target);
if(event.target.scrollHeight - $elem.scrollTop() === $elem.outerHeight()) {
// Scrolled to bottom, load more data
}
});
你可能想在用户到达底部之前加载更多的数据,如果是这样,你应该使用一些阈值:
$("table").on("scroll", function(event) {
var $elem = $(event.target)
, threshold = 100;
if(event.target.scrollHeight - $elem.scrollTop() + threshold >= $elem.outerHeight()) {
// Scrolled to bottom, load more data
}
});
如果你不想使用scrollHeight
,你必须有一个内部元素,你可以使用它的高度来计算。也许用div
包装table
,并在div
上设置overflow: scroll
。查看如何判断是否滚动到底部以获取详细信息。
相关文章:
- jQuery Lazy加载动画滚动
- 如何做javascript连续滚动-自动加载
- 页面加载时自动滚动到底部
- 我如何发送AJAX请求的内容是通过无限滚动加载的
- 向下滚动到Javascript进度条后加载该进度条
- AJAX加载和页面滚动
- 使用jQuery加载页面时自动向上滚动
- Jquery无休止滚动加载来自其他站点的内容
- 如何在水平滚动 Jquery 上实现延迟加载
- 无限滚动:从数据库加载所有数据并滚动以显示更多
- 等到无限滚动完成加载 - Javascript
- 加载、滚动、放大和缩小图像,如谷歌地图
- 滚动到页面顶部,而不刷新/重新加载该页面
- 在用户滚动时加载单个页面网站的不同部分
- 滚动到底部后获取动态加载的HTML
- 向右滚动加载数据
- 使用Twitter引导程序's Scrollspy到延迟加载(滚动加载)异步JavaScript
- 页面重新加载后滚动到特定位置
- 页面滚动时加载角度视图和控制器太慢
- 为什么无限滚动总是加载相同的图像