• 技术文章 >web前端 >js教程

    JS在移动端实现无限加载分页功能

    php中世界最好的语言php中世界最好的语言2018-04-19 13:48:57原创2081

    这次给大家带来JS在移动端实现无限加载分页功能,JS在移动端实现无限加载分页功能的注意事项有哪些,下面就是实战案例,一起来看一下。

    原理:当滚动条到达底部时,执行下一页内容。

    判断条件需要理解三个概念:
    1.scrollHeight 真实内容的高度
    2.clientHeight 视窗的高度,即在浏览器中所能看到的内容的高度
    3.scrollTop 视窗上面隐藏掉的部分,即滚动条滚动的距离

    思路:

    1.使用fixed定位加载框
    2.使用$(window).scroll();方法来触发是否加载
    3.通过 真实内容高度 - 视窗高度 - 上面隐藏部分 < 10 ,作为加载触发的条件

    varpage=1;//当前页的页码
          varflagNoData =false;//false
        varallpage;//总页码,会从后台获取
        functionshowAjax(page){
          $.ajax({
            url:"",
            type:"",
            data:"",
            success:function(data){
              //要执行的内容
              showContent();
                if(page>=data.allpage){//当前页码大于等于总页码
                flagNoData =true;
                };
              page+=1; //页数加1
            }
          })
        }
        functionscrollFn(){
          //真实内容的高度
          varpageHeight = Math.max(document.body.scrollHeight,document.body.offsetHeight);
          //视窗的高度
          varviewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
          //隐藏的高度
          varscrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
            if(falgNoData){//数据全部加载完了
             return;
            }elseif(pageHeight - viewportHeight - scrollHeight < 10){ //如果满足触发条件,执行
            showAjax(page);
          }
        }
        $(window).bind("scroll",scrollFn); //绑定滚动事件

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    Angular2开发组件步奏详解

    JS实现简单的四则运算

    以上就是JS在移动端实现无限加载分页功能的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:javascript 分页 加载
    上一篇:AngularJS实现用户修改密码功能 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 带你了解Nodejs中的非阻塞异步IO• Angular学习之详解样式绑定(ngClass和ngStyle)的使用• JavaScript计算属性与监视(侦听)属性的使用• 聊聊基于Node实现单点登录(SSO)的方法• 【整理总结】优化jQuery性能的多种方法
    1/1

    PHP中文网