iscroll-probe 下拉刷新,下拉加载

需要注意的是外部wrapper的高度,以及all的高度,须是>100%。

附加一个css3 的loading

.dengl-spinner {
    width: 0.682rem;
    height:  0.682rem;
    position: relative;
    position: absolute;
    z-index: -1;
    left: 50%;
    margin-left: -0.341rem;
    top: 2.5rem;
}
.dengl-spinner1{
    width: 0.682rem;
    height:  0.682rem;
    position: relative;
    position: fixed;
    z-index: -1;
    left: 50%;
    margin-left: -0.341rem;
    bottom: 1.5rem;
}
.dengl-cube1, .dengl-cube2 {
    background-color: #f2513f;
    width: 0.682rem;
    height:  0.682rem;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: cubemove 1.8s infinite ease-in-out;
    animation: cubemove 1.8s infinite ease-in-out;
}

.dengl-cube2 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

@-webkit-keyframes cubemove {
    25% {
        -webkit-transform: translateX(1rem) rotate(-90deg) scale(0.5)
    }
    50% {
        -webkit-transform: translateX(1rem) translateY(1rem) rotate(-180deg)
    }
    75% {
        -webkit-transform: translateX(0px) translateY(1rem) rotate(-270deg) scale(0.5)
    }
    100% {
        -webkit-transform: rotate(-360deg)
    }
}

@keyframes cubemove {
    25% {
        transform: translateX(1rem) rotate(-90deg) scale(0.5);
        -webkit-transform: translateX(1rem) rotate(-90deg) scale(0.5);
    }
    50% {
        transform: translateX(1rem) translateY(1rem) rotate(-179deg);
        -webkit-transform: translateX(1rem) translateY(1rem) rotate(-179deg);
    }
    50.1% {
        transform: translateX(1rem) translateY(1rem) rotate(-180deg);
        -webkit-transform: translateX(1rem) translateY(1rem) rotate(-180deg);
    }
    75% {
        transform: translateX(0px) translateY(1rem) rotate(-270deg) scale(0.5);
        -webkit-transform: translateX(0px) translateY(1rem) rotate(-270deg) scale(0.5);
    }
    100% {
        transform: rotate(-360deg);
        -webkit-transform: rotate(-360deg);
    }
}

上下两个

<div class="dengl-spinner" style="top:17rem">
    <div class="dengl-cube1"></div>
    <div class="dengl-cube2"></div>
</div>

<div class="dengl-spinner1" style="bottom:3rem;">
    <div class="dengl-cube1"></div>
    <div class="dengl-cube2"></div>
</div>

下面是正文

 <style>
        #wrapper {
            position: absolute;
            width: 100%;
            z-index: 1;
            top: 16.1rem;
            bottom: 2rem;
            left: 0;
            overflow: hidden;
        }

        #all {
            position: absolute;
            z-index: 1;
            -webkit-tap-highlight-color: rgba(0,0,0,0);
            width: 100%;
            -webkit-transform: translateZ(0);
            -moz-transform: translateZ(0);
            -ms-transform: translateZ(0);
            -o-transform: translateZ(0);
            transform: translateZ(0);
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            -webkit-text-size-adjust: none;
            -moz-text-size-adjust: none;
            -ms-text-size-adjust: none;
            -o-text-size-adjust: none;
            text-size-adjust: none;
            background: #fff;
            min-height: 100.5%;
        }
    </style>
 <div id="wrapper">
                        <ul id="all"></ul>
                    </div>
var index = 2, size = 10;
        $(function () {
            $.qr.ajax('UserCenter/myJdAndMl', { token: $.qr.gettoken() }, function (d) {
                var vm1 = new Vue({
                    el: '#top_1',
                    data: {
                        money: d.data_single.money
                    }
                });
                var vm2 = new Vue({
                    el: '#top_2',
                    data: {
                        earnings: d.data_single.earnings,
                        has_catfood: d.data_single.has_catfood,
                        not_catfood: d.data_single.not_catfood
                    }
                });
            });
            var myScroll = new IScroll('#wrapper', {
                mouseWheel: false,
                bounceTime: 1000,
                bounceLock: true,
                probeType: 3
            });
            var handle = 0;
            myScroll.on('scroll', function () {
                if (this.y > 50) {
                    handle = 1;
                } else if (this.y < (this.maxScrollY - 50)) {
                    handle = 2;

                };
            });
            myScroll.on('scrollEnd', function () {
                if (handle == 2) {
                    add(index, size);
                } else if (handle == 1) {
                    add(1, size);
                }
                handle = 0;
                myScroll.refresh();
            });
            document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
            add(1, size);
        });
        function add(pindex, psize) {
            $.qr.ajax('UserCenter/maoliangRecordList',
                { token: $.qr.gettoken(), pagesize: psize, pageindex: pindex }, function (d) {
                    var _h = '';
                    if (pindex != 1 && d.data_list.data_list.length > 0) index++;
                    if (d.data_list.data_list.length == 0) return false; 
                    $(d.data_list.data_list).each(function (i, j) {
                        _h += '<li>';
                        _h += '<div class="info" style="left: 10%">' + j.name + '</div>';
                        _h += '<div class="info">' + j.num + '</div>';
                        _h += '<div class="info">' + j.time + '</div>';
                        _h += '</li>';
                    });
                    if (pindex == 1) $('#all').empty();
                    $('#all').append(_h);

                }, false);

        }

 

转载于:https://www.cnblogs.com/jmzs/p/7088055.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iScroll 可以很方便地实现上拉加载下拉刷新,下面是一个简单的示例代码: ```html <div id="wrapper"> <div id="scroller"> <ul> <li>1</li> <li>2</li> <li>3</li> ... </ul> </div> <div id="pullDown"> <span>下拉刷新</span> </div> <div id="pullUp"> <span>上拉加载更多</span> </div> </div> ``` ```javascript var myScroll = new IScroll('#wrapper', { probeType: 3, mouseWheel: true, scrollbars: true, fadeScrollbars: true, interactiveScrollbars: true, shrinkScrollbars: 'scale', click: true, pullDownRefresh: true, pullUpLoad: true }); // 下拉刷新 myScroll.on('scroll', function() { if (this.y > 30) { $('#pullDown span').html('松开刷新'); } else { $('#pullDown span').html('下拉刷新'); } }); myScroll.on('scrollEnd', function() { if (this.y > 30) { // 执行下拉刷新操作 setTimeout(function() { myScroll.refresh(); }, 1000); } }); // 上拉加载 myScroll.on('scroll', function() { if (this.y < (this.maxScrollY - 30)) { $('#pullUp span').html('松开加载'); } else { $('#pullUp span').html('上拉加载更多'); } }); myScroll.on('scrollEnd', function() { if (this.y < (this.maxScrollY - 30)) { // 执行上拉加载操作 setTimeout(function() { myScroll.refresh(); }, 1000); } }); ``` 上面的代码中,我们在 iScroll 的配置中开启了 `pullDownRefresh` 和 `pullUpLoad` 两个选项,然后监听 `scroll` 和 `scrollEnd` 事件,根据滚动的位置来判断是否需要触发下拉刷新或上拉加载操作。在触发操作后,我们可以通过 setTimeout 来模拟异步加载数据的过程,然后调用 `myScroll.refresh()` 来更新 iScroll 的状态。这样就可以实现简单的上拉加载下拉刷新功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值