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 相关文章推荐
解决FireFox下[使用event很麻烦]的问题
Nov 26 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
Jun 18 Javascript
13个绚丽的Jquery 界面设计网站推荐
Sep 28 Javascript
类似php的js数组的in_array函数自定义方法
Dec 27 Javascript
javascript实用方法总结
Feb 06 Javascript
解决WordPress使用CDN后博文无法评论的错误
Dec 15 Javascript
AngularJS基础 ng-options 指令详解
Aug 02 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
Jan 31 Javascript
vue2.0 实现导航守卫(路由守卫)
May 21 Javascript
jquery操作select常见方法大全【7种情况】
May 28 jQuery
七行JSON代码把你的网站变成移动应用过程详解
Jul 09 Javascript
如何使用 vue-cli 创建模板项目
Nov 19 Vue.js
基于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数字格式化
2006/12/06 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
python中二分查找法的实现方法
2020/12/06 Python
植物选择:Botanic Choice
2017/02/15 全球购物
Talbots官网:美国成熟女装品牌
2019/11/15 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
农场厂长岗位职责
2013/12/28 职场文书
新学期班主任寄语
2014/01/18 职场文书
化工工艺设计求职信
2014/06/25 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
纪检监察立案决定书
2015/06/24 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js