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

时间:2021-05-28

本文实例为大家分享了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

#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;}

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章