移动端web滚动分页的实现方法


Posted in Javascript onMay 05, 2017

本文实例为大家分享了移动端web滚动分页展示的具体代码,供大家参考,具体内容如下

方法一:前端代码:

<script type="text/javascript">
    var page = 2; //当前页的页码
    var flagNoData = false; //false
    var allpage = @Model.PageCount; //总页码,会从后台获取
    function showAjax(currentIndex) {
      $.ajax({
        url: "@Url.Action("GetEmployeeData", "Home")",
        type: "GET",
        data: {"pageNum":currentIndex},
        success: function (data) {
          //要执行的内容
          showContent(data);
          if (currentIndex >= 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 (flagNoData) { //数据全部加载完了
        return;
      } else if (pageHeight - viewportHeight - scrollHeight < 10) {  //如果满足触发条件,执行
        showAjax(page);
      }
    }
    $(window).bind("scroll", scrollFn);  //绑定滚动事件

    function showContent(datacontent)
    {
      $("#contentDiv").append(datacontent);
    }
  </script>

适合移动端、PC端页面下拉 滚动分页

方法二(推荐):

插件 https://github.com/ximan/dropload

下载插件,引用css 和 js:

<link rel="stylesheet" href="~/Content/dropload.css" rel="external nofollow" />
<script type="text/javascript" src="~/Scripts/dropload.min.js"></script>
@section scripts{
  <script type="text/javascript" src="~/Scripts/dropload.min.js"></script>
  <script type="text/javascript">
    $(function () {
      var page = 1;
      var pageSize = 10;

      $(".content").dropload({
        scrollArea: window,
        loadDownFn: function (me) {
          page++;
          var result = '';
          $.ajax({
            url: "@Url.Action("GetEmployeeData", "Home")",
            type: "GET",
            data: { "pageNum": page },
            success: function (data) {
              var arrlen = data.length;
              if (arrlen > 0) {
                showContent(data);
                me.resetload();
              } else {
                me.lock();
                me.noData();
              }
            },
            error: function (xhr, type) {
              alert('Ajax error:' + xhr + type);
              me.resetload();
            }
          })
        }
      })
    });

    function showContent(datacontent) {
      $("#contentDiv").append(datacontent);
    }
  </script>
  }

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

Javascript 相关文章推荐
精通JavaScript 纠正 cleanWhitespace函数
Mar 11 Javascript
form.submit()不能提交表单的原因分析
Oct 23 Javascript
express的中间件basicAuth详解
Dec 04 Javascript
给angular加上动画效遇到的问题总结
Feb 17 Javascript
Kindeditor在线文本编辑器如何过滤HTML
Apr 14 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
AngularJs 国际化(I18n/L10n)详解
Sep 01 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
Vue列表循环从指定下标开始的多种解决方案
Apr 08 Javascript
element中的$confirm的使用
Apr 26 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
Mar 01 Vue.js
vue.js之vue-cli脚手架的搭建详解
May 05 #Javascript
Vue中使用vux的配置详解
May 05 #Javascript
Angular directive递归实现目录树结构代码实例
May 05 #Javascript
微信小程序开发图片拖拽实例详解
May 05 #Javascript
javascript 中关于array的常用方法详解
May 05 #Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
May 05 #Javascript
Angular中实现树形结构视图实例代码
May 05 #Javascript
You might like
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
JavaScript中的 new 命令
2019/05/22 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
python网页请求urllib2模块简单封装代码
2014/02/07 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
Python 处理图片像素点的实例
2019/01/08 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
2014年国庆晚会主持词
2014/09/19 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
2015年检验科工作总结
2015/04/27 职场文书
宾馆安全管理制度
2015/08/06 职场文书