基于JavaScript实现移动端无限加载分页


Posted in Javascript onMarch 27, 2017

本文实例为大家分享了js实现移动端无限加载分页的具体代码,供大家参考,具体内容如下

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

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

思路:

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

代码样例

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js实现的页面关键字密度查询代码
Dec 27 Javascript
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
jQuery find和children方法使用
Jan 31 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
Jun 09 Javascript
js Dialog 去掉右上角的X关闭功能
Apr 23 Javascript
详解Javascript动态操作CSS
Dec 08 Javascript
完美实现仿QQ空间评论回复特效
May 06 Javascript
js原型链与继承解析(初体验)
May 09 Javascript
表单中单选框添加选项和移除选项
Jul 04 Javascript
JavaScript对象创建模式实例汇总
Oct 03 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
Nov 16 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
May 17 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 #Javascript
JS简单实现数组去重的方法示例
Mar 27 #Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 #jQuery
基于JavaScript实现焦点图轮播效果
Mar 27 #Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
Mar 27 #Javascript
JS闭包用法实例分析
Mar 27 #Javascript
vue 2.0组件与v-model详解
Mar 27 #Javascript
You might like
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
php流量统计功能的实现代码
2012/09/29 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
php封装的page分页类完整实例
2016/10/18 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
python实现文件的备份流程详解
2019/06/18 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
平安建设工作方案
2014/06/02 职场文书
服务标语口号
2014/07/01 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
2015政治思想表现评语
2015/03/25 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS