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面向对象编程浅析
Aug 28 Javascript
jquery利用命名空间移除绑定事件的方法
Mar 11 Javascript
Yii2使用Bootbox插件实现自定义弹窗
Apr 02 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
Jan 28 Javascript
js+canvas简单绘制圆圈的方法
Jan 28 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
bootstrapvalidator之API学习教程
Jun 29 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
详解Vue中使用Axios拦截器
Apr 22 Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
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
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
2013/01/08 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
Python 中的lambda函数介绍
2018/10/10 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
Shopping happy life西班牙:以最优惠的价格提供最好的时尚配饰
2020/03/13 全球购物
大学生求职推荐信
2013/11/27 职场文书
大学生村官任职感言
2014/01/09 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
安全责任书怎么写
2014/07/28 职场文书
乌镇导游词
2015/02/02 职场文书
个园导游词
2015/02/04 职场文书
协议书格式模板
2016/03/24 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书