移动端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 相关文章推荐
jquery(live)中File input的change方法只起一次作用的解决办法
Oct 21 Javascript
JS打印gridview实现原理及代码
Feb 05 Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
Jquery中给animation加更多的运作效果实例
Sep 05 Javascript
Javascript学习笔记之数组的构造函数
Nov 23 Javascript
JavaScript在网页中画圆的函数arc使用方法
Nov 13 Javascript
Angular实现双向折叠列表组件的示例代码
Nov 21 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
Mar 15 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 Javascript
前端路由&amp;webpack基础配置详解
Jun 10 Javascript
Vue ​v-model相关知识总结
Jan 28 Vue.js
vue项目proxyTable配置和部署服务器
Apr 14 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 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
JTrackBar水平拖动效果
2007/07/15 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
python删除过期文件的方法
2015/05/29 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
男方父母证婚词
2014/01/12 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
年终晚会活动方案
2014/08/21 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫