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下判断一个元素是否存在的代码
Mar 05 Javascript
原生js实现查找/添加/删除/指定元素的class
Apr 12 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
May 26 Javascript
运用jQuery定时器的原理实现banner图片切换
Oct 22 Javascript
使用jQuery jqPlot插件绘制柱状图
Dec 18 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
CSS3 media queries结合jQuery实现响应式导航
Sep 30 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
vue+element实现批量删除功能的示例
Feb 28 Javascript
Angular脚手架开发的实现步骤
Apr 09 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
Aug 02 Javascript
vue.js的状态管理vuex中store的使用详解
Nov 08 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
php中去除所有js,html,css代码
2010/10/12 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
python进程管理工具supervisor使用实例
2014/09/17 Python
python实现字符串和字典的转换
2018/09/29 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
《盘古开天地》教学反思
2014/02/28 职场文书
毕业生就业意向书
2014/04/01 职场文书
高考标语大全
2014/06/05 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
学生个人评语大全
2015/01/04 职场文书
考试作弊检讨
2015/01/27 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
2015年幼师工作总结
2015/04/28 职场文书
会计实训总结范文
2015/08/03 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
Java spring定时任务详解
2021/10/05 Java/Android