移动端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 题型问答有答案参考
Feb 17 Javascript
Javascript 中 null、NaN和undefined的区别总结
Apr 10 Javascript
动态加载js和css(外部文件)
Apr 17 Javascript
简单介绍JavaScript数据类型之隐式类型转换
Dec 28 Javascript
基于JS实现Android,iOS一个手势动画效果
Apr 27 Javascript
jQuery实现的简单拖拽功能示例
Sep 13 Javascript
微信小程序对接七牛云存储的方法
Jul 30 Javascript
redux中间件之redux-thunk的具体使用
Apr 17 Javascript
利用Decorator如何控制Koa路由详解
Jun 26 Javascript
vue动态删除从数据库倒入列表的某一条方法
Sep 29 Javascript
谈谈React中的Render Props模式
Dec 06 Javascript
JavaScript代码实现微博批量取消关注功能
Feb 05 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
php4的彩蛋
2006/10/09 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
跟我学Laravel之路由
2014/10/15 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP实现简易blog的制作
2016/10/24 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
2018/11/01 HTML / CSS
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
副护士长竞聘演讲稿
2014/04/30 职场文书
2014年英语工作总结
2014/12/20 职场文书
2015年派出所工作总结
2015/04/24 职场文书
大学新生入学感想
2015/08/07 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
MySql数据库触发器使用教程
2022/06/01 MySQL