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

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

加载中...
    上拉加载...

    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 */
    

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

    你可能感兴趣的:(iscroll动态加载数据完美解决方法)