移动端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 相关文章推荐
js实现倒计时时钟的示例代码
Dec 17 Javascript
javascript中innerText和innerHTML属性用法实例分析
May 13 Javascript
js实现遍历含有input的table实例
Dec 07 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
Vue系列:通过vue-router如何传递参数示例
Jan 16 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
ionic 3.0+ 项目搭建运行环境的教程
Aug 09 Javascript
动手写一个angular版本的Message组件的方法
Dec 16 Javascript
详解webpack babel的配置
Jan 09 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
详解在Vue.js编写更好的v-for循环的6种技巧
Apr 14 Javascript
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 特殊字符处理函数
2008/09/05 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
如何打开php的gd2库
2017/02/09 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
Laravel中10个有用的用法小结
2019/05/06 PHP
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
Python实现配置文件备份的方法
2015/07/30 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Python reduce()函数的用法小结
2017/11/15 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
python的sorted用法详解
2019/06/25 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
python str字符串转uuid实例
2020/03/03 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
中华在我心中演讲稿
2014/09/13 职场文书
学校节水倡议书
2015/04/29 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
七个Python必备的GUI库
2021/04/27 Python
python opencv通过4坐标剪裁图片
2021/06/05 Python
Python OpenCV实现图形检测示例详解
2022/04/08 Python