移动端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类定义例子
Sep 12 Javascript
JavaScript包装对象使用介绍
Aug 29 Javascript
把jQuery的类、插件封装成seajs的模块的方法
Mar 12 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
Apr 29 Javascript
Javascript中的作用域及块级作用域
Dec 08 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
antd Upload 文件上传的示例代码
Dec 14 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
Mar 11 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
vue使用swiper.js重叠轮播组建样式
Nov 14 Javascript
JS数组方法slice()用法实例分析
Jan 18 Javascript
JavaScript命令模式原理与用法实例详解
Mar 10 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页面局部刷新功能的实现小结
2013/06/21 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
php7性能提升的原因详解
2019/10/13 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
js闭包用法实例详解
2016/12/13 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
windows下ipython的安装与使用详解
2016/10/20 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
高中毕业自我鉴定
2013/12/13 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
银行求职信模板
2015/03/20 职场文书
对公司的意见和建议
2015/06/04 职场文书
职工培训工作总结
2015/08/10 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
golang 实用库gotable的具体使用
2021/07/01 Golang
分享Python获取本机IP地址的几种方法
2022/03/17 Python
MySQL三种方式实现递归查询
2022/04/18 MySQL