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 相关文章推荐
ie下jquery.getJSON的缓存问题的处理方法
Mar 29 Javascript
JavaScript 数组详解
Oct 10 Javascript
基于iframe实现类似于ajax的页面无刷新
May 31 Javascript
jQuery内部原理和实现方式浅析
Feb 03 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
Mar 26 Javascript
javascript实现鼠标拖动改变层大小的方法
Apr 30 Javascript
js倒计时抢购实例
Dec 20 Javascript
javascript html5移动端轻松实现文件上传
Mar 27 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
mpvue开发音频类小程序踩坑和建议详解
Mar 12 Javascript
js前端如何写一个精确的倒计时代码
Oct 25 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
PHP 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
php全角字符转换为半角函数
2014/02/07 PHP
Smarty模板简单配置与使用方法示例
2016/05/23 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
jQuery Dom元素操作技巧
2018/02/04 jQuery
Angular2中监听数据更新的方法
2018/08/31 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
python中cPickle用法例子分享
2014/01/03 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
django的autoreload机制实现
2020/06/03 Python
企业消防安全制度
2014/02/02 职场文书
关于环保的建议书400字
2014/03/12 职场文书
毕业生就业意向书
2014/04/01 职场文书
环保倡议书50字
2014/05/15 职场文书
行政监察建议书
2014/05/19 职场文书
2015年技术员工作总结
2015/04/10 职场文书
广播体操比赛主持词
2015/06/29 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
靠谱准确的求职信
2019/04/02 职场文书
python内置模块之上下文管理contextlib
2022/06/14 Python