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 相关文章推荐
jquery 屏蔽一个区域内的所有元素,禁止输入
Oct 22 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
Jul 08 Javascript
js调用后台servlet方法实例
Jun 09 Javascript
js计算两个时间之间天数差的实例代码
Nov 19 Javascript
使用javascript控制cookie显示和隐藏背景图
Feb 12 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
Aug 27 Javascript
js运动应用实例解析
Dec 28 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
Jul 04 Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
微信小程序页面间传值与页面取值操作实例分析
Apr 30 Javascript
Echarts.js无法引入问题解决方案
Oct 30 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
PHP中PDO的错误处理
2011/09/04 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
php中this关键字用法分析
2016/12/07 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
javascript验证身份证号
2015/03/03 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
微信JS接口大全
2016/08/25 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python实现人脸识别代码
2017/11/08 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
《春晓》教学反思
2014/04/20 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
花木兰观后感
2015/06/10 职场文书
公司酒会主持词
2015/07/02 职场文书
公司酒会致辞
2015/07/30 职场文书
环境卫生标语
2015/08/03 职场文书