首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery在滚动上加载更多数据

jQuery在滚动上加载更多数据
EN

Stack Overflow用户
提问于 2012-12-26 09:28:04
回答 4查看 442.5K关注 0票数 164

我只是在想,只有当div.loading可见时,我如何才能在滚动上实现更多的数据。

通常我们会查看页面高度和滚动高度,看看是否需要加载更多的数据。但是下面的例子就有点复杂了。

下面的图片就是一个很好的例子。下拉框中有两个.loading div。当用户滚动内容时,应该开始为其加载更多的数据。

那么,我如何才能确定.loading div对用户是否可见呢?这样我就可以开始加载该div的数据了。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-13 10:02:26

在jQuery中,使用滚动功能检查是否已到达页面底部。完成后,执行一个ajax调用(您可以在ajax响应之前在此处显示加载图像)并获取下一组数据,将其附加到div。当您再次向下滚动页面时,将执行此函数。

代码语言:javascript
复制
$(window).scroll(function() {
    if($(window).scrollTop() == $(document).height() - $(window).height()) {
           // ajax call get data from server and append to the div
    }
});
票数 316
EN

Stack Overflow用户

发布于 2018-06-11 14:47:12

当窗口放大到一个>100%的值时,这个问题的公认答案与chrome有一些问题。以下是chrome开发人员推荐的代码,作为我在同一个bug中提出的错误的一部分。

代码语言:javascript
复制
$(window).scroll(function() {
  if($(window).scrollTop() + $(window).height() >= $(document).height()){
     //Your code here
  }
});

供参考:

Related SO question

Chrome Bug

票数 13
EN

Stack Overflow用户

发布于 2018-10-19 19:49:42

如果不是所有的文档都滚动,比如说,当你在文档中有一个滚动的div时,上面的解决方案在没有适应的情况下将无法工作。下面是如何检查div的滚动条是否触底的方法:

代码语言:javascript
复制
$('#someScrollingDiv').on('scroll', function() {
    let div = $(this).get(0);
    if(div.scrollTop + div.clientHeight >= div.scrollHeight) {
        // do the lazy loading here
    }
});
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14035180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档