Jquery实现滚动加载

本文介绍了使用Jquery实现滚动加载的原理,强调在滚动条到达底部或接近底部时加载更多内容,以提升用户体验。内容包括HTML结构、CSS样式和JavaScript实现。总结了作者对滚动加载的个人见解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人观点仅参考

jquery实现滚动加载的核心如何知道滚动条是否到达底部。

  • 针对固定高度的容器添加scroll事件,获取容器中滚动条的距离顶部高度t,固定容器的高度h。
  • 获取文档内容高度scrollHeight,当滚动条滚到底部时。
    必然是: scrollHeight = t + h;
  • 改进用户体验,一般是滚动条滑动到距离底部一定距离c时,就进行数据加载。
    此时则改成: scrollHeight - c = t + h;

HTML

<div id="box">
    <div id="list">
        <div>1</div>
    </div>
    <div id="loading">正在加载...</div>
</div>

css

html,body {
  height: 100%;
}
    
#box {
  height: 100%;
  text-align: center;
  overflow: scroll;
}
    
#list>div {
  width: 100%;
  height: 30px;
  line-height: 30px;
}
    
#loading {
  height: 32px;
  line-height: 32px;
}

js

 //状态标记
    var loading = true;
    $(function() {
      loadData();
      
      $('#box').scroll(function() {
        var range = 40;
        var t = $('#box').scrollTop();
        var h = $(window).height();
        var scrollHeight = $('#list').height();
        var totalHeight = parseFloat(h) + parseFloat(t);
        if (scrollHeight - totalHeight < range) {
          if (loading) return;
          loading = true;
          $('#loading').show();
          loadData();
        }
      })

      function loadData() {
        var html = '';
        for (var i = 1; i < 30; i++) {
          html += '<div>' + i + '</div>';
        }
        setTimeout(function() {
          $('#loading').hide();
          $('#list').append(html);
          loading = false;
        }, 600)
      }
    })

总结

以上是我个人对滚动加载的了解。

结束语
  • 天生我才必有用
  • 把所有平凡的事都做好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值