iscroll动态加载数据完美解决方法


Posted in Javascript onJuly 18, 2017

本文实例为大家分享了iscroll动态加载数据的具体代码,供大家参考,具体内容如下

<div id="wrapper" class="margin-b90">
    <div id="scroller">
      <div id="pullDown">
        <span class="pullDownLabel" style="text-align: center;">加载中...</span>
      </div>
      <div class="sps_itemBox ">
        <div class="list_show">
          <ul id="ulList"></ul>
        </div>
      </div>

      <div id="pullUp">
        <span class="pullUpLabel" style="text-align: center;">上拉加载...</span>
      </div>
    </div>
  </div>

js.

// iScroll 滚动条/上拉刷新/下拉加载
var myScroll,
pullDownEl,
pullDownOffset,
pullUpEl,
pullUpOffset;

function loaded() {
pullDownEl = document.getElementById('pullDown');
pullDownOffset = pullDownEl.offsetHeight;
pullUpEl = document.getElementById('pullUp');
pullUpOffset = pullUpEl.offsetHeight;
myScroll = new iScroll('wrapper', {
useTransition: false,
topOffset: pullDownOffset,
btnOffset: pullUpOffset,
hideScrollbar: true,
fadeScrollbar: true,
onRefresh: function () {
if (pullDownEl.className.match('loading')) {
pullDownEl.className = '';
//pullDownEl.querySelector('.pullDownLabel').innerHTML = '下拉刷新...';
pullDownEl.querySelector('.pullDownLabel').innerHTML = '数据更新时间:' + updateDatetime;
} else if (pullUpEl.className.match('loading')) {
pullUpEl.className = '';
pullUpEl.querySelector('.pullUpLabel').innerHTML = '上拉加载...';
}
},
onScrollMove: function () {
if (this.y > 5 && !pullDownEl.className.match('flip')) {
pullDownEl.className = 'flip';
//pullDownEl.querySelector('.pullDownLabel').innerHTML = '释放刷新...';
pullDownEl.querySelector('.pullDownLabel').innerHTML = '数据更新时间:' + updateDatetime;
this.minScrollY = 0;
} else if (this.y < 5 && pullDownEl.className.match('flip')) {
pullDownEl.className = '';
//pullDownEl.querySelector('.pullDownLabel').innerHTML = '下拉刷新...';
pullDownEl.querySelector('.pullDownLabel').innerHTML = '数据更新时间:' + updateDatetime;
this.minScrollY = -pullDownOffset;
} else if (this.y < (this.maxScrollY - pullUpOffset - 40) && !pullUpEl.className.match('flip')) {
pullUpEl.className = 'flip';
pullUpEl.querySelector('.pullUpLabel').innerHTML = '释放加载...';
this.maxScrollY = this.maxScrollY - pullUpOffset;
}
//else if (this.y > (this.maxScrollY - pullUpOffset) && pullUpEl.className.match('flip')) {
// pullUpEl.className = '';
// pullUpEl.querySelector('.pullUpLabel').innerHTML = '上拉加载...';
// //this.maxScrollY = pullUpOffset;
//}
},
onScrollEnd: function () {
if (pullDownEl.className.match('flip')) {
pullDownEl.className = 'loading';
//pullDownEl.querySelector('.pullDownLabel').innerHTML = '数据刷新中...';
pullDownEl.querySelector('.pullDownLabel').innerHTML = '数据更新时间:' + updateDatetime;
myScroll.refresh();
} else if (pullUpEl.className.match('flip')) { 
pullUpEl.className = 'loading';
pullUpEl.querySelector('.pullUpLabel').innerHTML = '数据加载中...';
setTimeout(function () { myScroll.refresh(); }, 3000);

}
}
});
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);

css

/* iScroll */
#wrapper{width:100%; position:absolute; top:0; bottom:0; z-index:1; overflow:hidden;}
#scroller{
  width:100%; position:absolute; z-index:1;
  -webkit-touch-callout:none; -webkit-tap-highlight-color:rgba(0,0,0,0);
}
#pullDown,
#pullUp{padding:15px 0 15px 60px; font-size:14px; line-height:27px; color:#303030;}
#pullDown{background:url(../images/loadBottom.png) no-repeat 30px center; background-size:27px 27px;}
#pullUp{background:url(../images/loadTop.png) no-repeat 30px center; background-size:27px 27px;}
#pullDown.flip{background:url(../images/loadTop.png) no-repeat 30px center; background-size:27px 27px;}
#pullUp.flip{background:url(../images/loadBottom.png) no-repeat 30px center; background-size:27px 27px;}
#pullDown.loading,
#pullUp.loading{background:url(../images/loading.gif) no-repeat 30px center; background-size:25px 27px;}
/* iScroll end */

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 单引号 传递方法
Jun 22 Javascript
jQuery中after的两种用法实例
Jul 03 Javascript
jQuery自定义事件的简单实现代码
Jan 27 Javascript
如何防止回车(enter)键提交表单
May 11 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
jquery——九宫格大转盘抽奖实例
Jan 16 Javascript
js实现三级联动效果(简单易懂)
Mar 27 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 Javascript
js函数和this用法实例分析
Mar 13 Javascript
JS检测浏览器开发者工具是否打开的方法详解
Oct 02 Javascript
Angular4学习笔记之新建项目的方法
Jul 18 #Javascript
详解使用nvm安装node.js
Jul 18 #Javascript
jQuery之动画ajax事件(实例讲解)
Jul 18 #jQuery
js判断用户是输入的地址请求的路径(实例讲解)
Jul 18 #Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
Jul 18 #Javascript
angular使用bootstrap方法手动启动的实例代码
Jul 18 #Javascript
详解jQuery中关于Ajax的几个常用的函数
Jul 17 #jQuery
You might like
Syphon 使用方法
2021/03/03 冲泡冲煮
PHP的面向对象编程
2006/10/09 PHP
提升PHP执行速度全攻略(下)
2006/10/09 PHP
php google或baidu分页代码
2009/11/26 PHP
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
python django 访问静态文件出现404或500错误
2017/01/20 Python
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
职工运动会邀请函
2014/01/19 职场文书
社区党员先进事迹
2014/01/22 职场文书
python Tkinter的简单入门教程
2021/04/11 Python
nginx搭建NFS网络文件系统
2022/04/14 Servers
索尼ICF-36收音机评测
2022/04/30 无线电