iscroll.js滚动加载实例详解


Posted in Javascript onJuly 18, 2017

滚动加载是个好东西,可以解决一次加载过多的尴尬,其实就是变相的分页,总结下这个轮子的用法,挺简单的。

首先是html结构:

<div class=" saleRecord panelList clear" style="position:relative;height:400px;"> 
          <div id="wrapper"> 
            <div id="scroller"> 
              <ul id="thelist"> 
          @foreach (var item in ViewBag.***) 
          { 
            if (item.IsPay == true) 
            { 
              <li> 
          <div class="panelListItemForALL"> 
            <table class="allRecordTable"> 
              <tbody> 
                <tr> 
                  <td>***</td> 
                  <td>@item.***</td> 
                </tr> 
                <tr> 
                  <td>***</td> 
                  <td>@item.***</td> 
                </tr> 
                <tr> 
                  <td>***</td> 
                  <td>@item.***</td> 
                </tr> 
              </tbody> 
            </table> 
          </div> 
              </li>  
            } 
          } 
              </ul> 
              <div id="more">加载更多</div> 
          </div> 
        </div>

然后是css样式:

#wrapper { 
  position: absolute; 
  z-index: 1; 
  top: 0; 
  bottom: 0; 
  left: 0; 
  width: 100%; 
  overflow: hidden; 
} 
 
#scroller { 
  position: absolute; 
  z-index: 1; 
  -webkit-tap-highlight-color: rgba(0,0,0,0); 
  width: 100%; 
  -webkit-transform: translateZ(0); 
  -moz-transform: translateZ(0); 
  -ms-transform: translateZ(0); 
  -o-transform: translateZ(0); 
  transform: translateZ(0); 
  -webkit-touch-callout: none; 
  -webkit-user-select: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
  user-select: none; 
  -webkit-text-size-adjust: none; 
  -moz-text-size-adjust: none; 
  -ms-text-size-adjust: none; 
  -o-text-size-adjust: none; 
  text-size-adjust: none; 
} 
#more 
    { 
      text-align:center; 
    }

需要的话,给父元素套上position:relative属性
最后是脚本中的初始化和获取数据:

var pagenum = 1, update = true, id=ID; 
    var myScroll; 
    setTimeout(function(){ 
      myScroll = new IScroll('#wrapper', { mouseWheel: true, click: true }); 
      myScroll.on('scrollEnd', function () { 
        //console.log(this.y +"|||"+this.maxScrollY); 
        //如果滑动到底部,则加载更多数据(距离最底部10px高度) 
        if ((this.y - this.maxScrollY) == 0) { 
          getMore(); 
        } 
      }); 
    },100 ); 
     
    function getMore() { 
      var that = document.getElementById("more"); 
      pagenum++; 
      $.ajax({ 
        url: '/***/getPage', 
        data: {'currentPage':pagenum,'id':id}, 
        type: 'POST', 
        datatype: "json", 
        success: function (data) { 
          //alert(data); 
          var list = data.List; 
          if (list.length < 1) { 
            pagenum--; that.innerHTML = "已经没有更多了..."; return; 
          } 
          var ul = document.getElementById("thelist"); 
          for (var i = 0; i < list.length; i++) { 
            var str = "<li>"; 
            str += "<div class=\"panelListItemForALL\"><table class=\"allRecordTable\"><tbody><tr><td>***</td><td>"+list[i].OrderCode+"</td>"; 
            str += "</tr><tr><td>***</td><td>"+list[i].GoodsName+"</td></tr>"; 
            str += "<tr><td>***</td><td>"+ data.DatatimeArray[i] +"</td>"; 
            str += "</tr></tbody></table></div>"; 
            str += "</li>"; 
            ul.innerHTML += str; 
            myScroll.refresh(); 
          } 
        } 
      }); 
 
    }

把相应的数据填充进去就好,当然控制器里要写一个分页获取数据的方法,通过这里的ajax获取。

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

Javascript 相关文章推荐
JQuery 表单中textarea字数限制实现代码
Dec 07 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
Oct 29 Javascript
浅析JavaScript中的类型和对象
Nov 29 Javascript
jQuery实现简单下拉导航效果
Sep 07 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
Dec 01 Javascript
原生JS和jQuery版实现文件上传功能
Apr 18 Javascript
AngularJS 中的Promise --- $q服务详解
Sep 14 Javascript
vuex实现简易计数器
Oct 27 Javascript
利用fecha进行JS日期处理
Nov 21 Javascript
微信小程序-拍照或选择图片并上传文件
Jan 06 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
Sep 21 Javascript
JavaScript模块详解
Dec 18 Javascript
基于iScroll实现下拉刷新和上滑加载效果
Jul 18 #Javascript
jQuery remove()过滤被删除的元素(推荐)
Jul 18 #jQuery
H5基于iScroll实现下拉刷新和上拉加载更多
Jul 18 #Javascript
iscroll动态加载数据完美解决方法
Jul 18 #Javascript
Angular4学习笔记之新建项目的方法
Jul 18 #Javascript
详解使用nvm安装node.js
Jul 18 #Javascript
jQuery之动画ajax事件(实例讲解)
Jul 18 #jQuery
You might like
深入解析php中的foreach函数
2013/08/31 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
初识laravel5
2015/03/02 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
vue实现评价星星功能
2020/06/30 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
Python内置函数之filter map reduce介绍
2014/11/30 Python
python登陆asp网站页面的实现代码
2015/01/14 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
影视制作岗位职责
2013/12/04 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
日语系毕业求职信
2014/07/27 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android