我只是在想,只有当div.loading可见时,我如何才能在滚动上实现更多的数据。
通常我们会查看页面高度和滚动高度,看看是否需要加载更多的数据。但是下面的例子就有点复杂了。
下面的图片就是一个很好的例子。下拉框中有两个.loading div。当用户滚动内容时,应该开始为其加载更多的数据。
那么,我如何才能确定.loading div对用户是否可见呢?这样我就可以开始加载该div的数据了。
发布于 2013-06-13 10:02:26
在jQuery中,使用滚动功能检查是否已到达页面底部。完成后,执行一个ajax调用(您可以在ajax响应之前在此处显示加载图像)并获取下一组数据,将其附加到div。当您再次向下滚动页面时,将执行此函数。
$(window).scroll(function() {
if($(window).scrollTop() == $(document).height() - $(window).height()) {
// ajax call get data from server and append to the div
}
});
发布于 2018-06-11 14:47:12
当窗口放大到一个>100%的值时,这个问题的公认答案与chrome有一些问题。以下是chrome开发人员推荐的代码,作为我在同一个bug中提出的错误的一部分。
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() >= $(document).height()){
//Your code here
}
});
供参考:
发布于 2018-10-19 19:49:42
如果不是所有的文档都滚动,比如说,当你在文档中有一个滚动的div
时,上面的解决方案在没有适应的情况下将无法工作。下面是如何检查div的滚动条是否触底的方法:
$('#someScrollingDiv').on('scroll', function() {
let div = $(this).get(0);
if(div.scrollTop + div.clientHeight >= div.scrollHeight) {
// do the lazy loading here
}
});
https://stackoverflow.com/questions/14035180
复制相似问题