Iscroll4 实现下拉刷新,上拉加载,现在出现一个问题,就是当我在下拉刷新的同时,马上进行上拉

Iscroll4实现下拉刷新,上拉加载,现在出现一个问题,就是当我在下拉刷新的同时,马上进行上拉加载,页面会出现两条相同的数据,怎么解决?... Iscroll4 实现下拉刷新,上拉加载,现在出现一个问题,就是当我在下拉刷新的同时,马上进行上拉加载,页面会出现两条相同的数据,怎么解决? 展开
 我来答
山水阿锐
2015-06-02 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
1、在options中加入如下参数代码(我的代码是在2470行):

//原本就有的部分

HWCompositing: true,
useTransition: true,
useTransform: true,
//我加入的部分
minScrollY : 0,
minScrollX : 0

2、在下面不远处(十行以内)加入如下参数:

//新加部分

this.minScrollY = this.options.minScrollY;
this.minScrollX = this.options.minScrollX;
原先就有的部分
this.translateZ = this.options.HWCompositing && utils.hasPerspective ? ' translateZ(0)' : '';

3、最后一处修改,在resetPosition方法内,此处直接贴上更改之后的方法,其实真正的修改只是将this.minScrollX修改成了(代码在2830行左右):

resetPosition: function (time) {

var x = this.x,
y = this.y;

time = time || 0;

if ( !this.hasHorizontalScroll || this.x > this.minScrollX ) {
x = this.minScrollX;
} else if ( this.x < this.maxScrollX ) {
x = this.maxScrollX;
}

if ( !this.hasVerticalScroll || this.y > this.minScrollY ) {
y = this.minScrollY;
} else if ( this.y < this.maxScrollY ) {
y = this.maxScrollY;
}

if ( x == this.x && y == this.y ) {
return false;
}

this.scrollTo(x, y, time, this.options.bounceEasing);

return true;
},
全部修改内容如上,调用的时候,只需要传入minScrollX、minScrollY参数便可实现下拉后回弹上面的预留位置了。
注:对于scroll的滚动区域小于包裹容器的,iscroll禁止滚动,会造成无法实现下拉刷新,这里有一个小技巧,就是给滚动区域加一个min-height:101%;
最后附上此次修改的dome下载地址,由于dome最初也是从别处拿的(最初的dome不能满足需求),其中的css布局方面个人觉得有些不好,但由于最近工作紧张也没有去改,暂时就先这样吧,有空会优化一下的。
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
125752114
2018-01-26
知道答主
回答量:4
采纳率:0%
帮助的人:4019
展开全部
把下拉的判断写在前头,在触发下拉的方法时,把上拉赋的值清空一下就行了
pullDownEl = document.getElementById('pullDown');
pullDownEl.className = '';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式