页面向上滚动到底部后动态加载数据,或者说是页面上拉到达底部后自动加载内容,省去了访客手动点击“下一页”的动作,实为现在所讲的页面人性化设计理念。
像某些网站的瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多
还有,使用手机进入qq空间,向上拉动空间,页面到底部时,会动态加载剩余的说说或者是日志
今天我们就来看看他们的实现思路和js控制动态加载的代码
下面的代码主要是控制滚动条下拉(即页面上滚)时的加载事件的
在下面代码说明处,写上操作即可,无论是加载图片还是加载记录数据 都可以
别忘了引用jquery类库
[JavaScript] 纯文本查看 复制代码
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
$(window).scroll(function () { var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).height(); var windowHeight = $(this).height(); if (scrollTop + windowHeight == scrollHeight) { //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作 //var page = Number($("#redgiftNextPage").attr('currentpage')) + 1; //redgiftList(page); //$("#redgiftNextPage").attr('currentpage', page + 1); } }); |
解析:
判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。
scrollTop为滚动条在Y轴上的滚动距离。
clientHeight为内容可视区域的高度。
scrollHeight为内容可视区域的高度加上溢出(滚动)的距离。
从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。(兼容不同的浏览器)。