您的位置:首页 > 其它

iscroll-probe实现下拉刷新和下拉加载效果

2017-06-28 08:35 633 查看

需要注意的是外部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);
}

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐