相信很多人都见过瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多 

有手机的相信都见过这样的效果:进入qq空间,向下拉动空间,到底部时,会动态加载剩余的说说或者是日志 

今天我们就来看看他们的实现思路和js控制动态加载的代码

原理:

就是为 window 添加一个 scroll事件 ,浏览器每次触发 scroll事件

滚动条卷起来的高度 + 窗口高度 > 文档的总高度 + 50/*我这里将滚动响应区域高度取50px*/;

如果这个判断为 true

下面的代码主要是控制滚动条下拉时的加载事件的

在下面代码说明处,写上你的操作即可,无论是加载图片还是加载记录数据  都可以  

别忘了引用 jquery

1  $(window).scroll(function () {
 2         var scrollTop = $(this).scrollTop();
 3         var scrollHeight = $(document).height();
 4         var windowHeight = $(this).height();
 5         if (scrollTop + windowHeight == scrollHeight) {
 6 
 7            //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
 9            //var page = Number($("#redgiftNextPage").attr('currentpage')) + 1;
10            //redgiftList(page);
11            //$("#redgiftNextPage").attr('currentpage', page + 1);

        var index=$("#my-modal-loading").layer.load('1');//开始加载动画                $.ajax({
                    type: 'get',
                    url: 'xxxxxxxxxx',
                    data:{
                        xxx: 'xxx',
                        xxx: xxx
                    },
                    dataType: 'json',
                    error: function(request) {
                        alert('查找失败!');
                    },
                    success: function(data){
                        //console.log(data);
                        //数据加载              //结束加载动画
              $("#my-modal-loading").layer.close(index);
            }
           });
13         }
14     });

 

 

解析:

判断滚动条到底部,需要用到 DOM 的三个属性值,即 scrollTop、clientHeight、scrollHeight

scrollTop

clientHeight

scrollHeight

从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为 scrollTop + clientHeight == scrollHeight