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创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
jQuery实现form表单reset按钮重置清空表单功能
Dec 18 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
Aug 15 Javascript
javascript常用方法汇总
Dec 02 Javascript
angularjs ui-router中路由的二级嵌套
Mar 10 Javascript
Vue.js实例方法之生命周期详解
Jul 03 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
Vue如何实现响应式系统
Jul 11 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
node.js实现上传文件功能
Jul 15 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
Aug 14 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
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
JavaScript 字符编码规则
2009/05/04 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
深入讲解Python编程中的字符串
2015/10/14 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
英文版银行求职信
2013/10/09 职场文书
经理职责范文
2013/11/08 职场文书
智能电子应届生求职信
2013/11/10 职场文书
建筑施工安全责任书
2014/07/24 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
单位介绍信格式
2015/01/31 职场文书
幼儿教师辞职信
2015/02/27 职场文书
金陵十三钗观后感
2015/06/04 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript