这个实例应该说可以很简单,直接使用jQuery的方法来处理也是可以的。但本文底层使用原生的js来处理,遇到一些小知识点可以分析一下也算有所得。 原理很简单,就是为window添加一个scroll事件,浏览器每次触发scroll事件时判断是否滚动到了浏览器底部,如果到了底部则加载 ...
这个实例应该说可以很简单,直接使用jQuery的方法来处理也是可以的。但本文底层使用原生的js来处理,遇到一些小知识点可以分析一下也算有所得。
原理很简单,就是为window添加一个scroll事件,浏览器每次触发scroll事件时判断是否滚动到了浏览器底部,如果到了底部则加载新数据。关键是计算滚动条是否滚动到了浏览器底部,算法如下
滚动条卷起来的高度 + 窗口高度 > 文档的总高度 + 50/*我这里将滚动响应区域高度取50px*/;如果这个判断为true则表示滚动条滚动到了底部。
实例
<style type="text/css"> html,body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td{ margin: 0; padding:0; } *{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .waterfllow-loading{ z-index: 2000; display:none; } .waterfllow-loading.active{ display:block; } .waterfllow-loading img.loading-progress{ position: fixed; /*设置等待条水平居于窗口正中*/ margin-left: auto; margin-right: auto; left: 0; right: 0; /*不能设置margin-top:auto和margin-bottom:auto否则IE下bottom就不顶用了*/ bottom: 30px; } </style> <div class="waterfllow-loading"> <img class="loading-progress" src='/images/loading.gif' data-original="busy.gif"> </div> <script type="text/javascript"> //图片查询中正对浏览器主页面滚动事件处理(瀑布流)。只能使用window方式绑定,使用document方式不起作用 $(window).on('scroll',function(){ if(scrollTop() + windowHeight() >= (documentHeight() - 50/*滚动响应区域高度取50px*/)){ waterallowData(); } }); function waterallowData(){ $('.waterfllow-loading').addClass('active'); /*$.ajax({ url:url, type:"post", data: params, success:function(data,textStatus,jQXHR){ //添加数据 ... //隐藏加载条 $('.waterfllow-loading.active').removeClass('active'); } });*/ }
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:滚动条滚动到页面底部继续加载的处理实例
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。