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 相关文章推荐
重构Javascript代码示例(重构前后对比)
Jan 23 Javascript
textarea 控制输入字符字节数(示例代码)
Dec 27 Javascript
判断日期是否能跨月查询的js代码
Jul 25 Javascript
Javascript检查图片大小不要让大图片撑破页面
Nov 04 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
Jan 12 Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
Nov 27 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
Jun 29 Javascript
vue与iframe之间的信息交互的实现
Apr 08 Javascript
JavaScript常用工具函数大全
May 06 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 Javascript
JS开发前端团队展示控制器来为成员引流
Aug 14 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 allow_url_include的应用和解释
2010/04/22 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
js 函数的副作用分析
2011/08/23 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
python 下划线的不同用法
2020/10/24 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
宠物店的创业计划书范文
2014/01/11 职场文书
医务工作者先进事迹材料
2014/01/26 职场文书
《乌塔》教学反思
2014/02/17 职场文书
安全生产专项整治方案
2014/05/06 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
经理任命书模板
2014/06/06 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
贷款委托书
2014/08/01 职场文书
建议书范文
2015/02/05 职场文书
刑事案件上诉状
2015/05/23 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang