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 相关文章推荐
汉化英文版的Dreamweaver CS5并自动提示jquery
Nov 25 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
Aug 16 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
js基础之DOM中document对象的常用属性方法详解
Oct 28 Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 Javascript
Mac下使用charles遇到的问题以及解决办法
Jan 10 Javascript
Vue.set()实现数据动态响应的方法
Feb 07 Javascript
vue组件挂载到全局方法的示例代码
Aug 02 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 Javascript
微信小程序使用swiper组件实现类3D轮播图
Aug 29 Javascript
使用Node.js在深度学习中做图片预处理的方法
Sep 18 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
Feb 06 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环境――Appserv
2006/12/13 PHP
关于crontab的使用详解
2013/06/24 PHP
php读取mysql的简单实例
2014/01/15 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
js获取单选按钮的数据
2006/11/27 Javascript
Prototype使用指南之form.js
2007/01/10 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
基于vue的换肤功能的示例代码
2017/10/10 Javascript
详解离线安装npm包的几种方法
2018/11/25 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python 中的with关键字使用详解
2016/09/11 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
ubuntu上安装python的实例方法
2019/09/30 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
自动化专业毕业生求职信
2014/06/18 职场文书
捐款活动总结
2014/08/27 职场文书
公民授权委托书
2014/10/15 职场文书
海洋天堂观后感
2015/06/05 职场文书
超市主管竞聘书
2015/09/15 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题