var
myScroll,
pullDownEl, pullDownOffset,
pullUpEl, pullUpOffset,
generatedCount = 0;
function
pullDownAction () {
setTimeout(
function
() {
var
el, li, i;
el = document.getElementById(
'thelist'
);
for
(i=0; i<3; i++) {
li = document.createElement(
'li'
);
li.innerText =
'Generated row '
+ (++generatedCount);
el.insertBefore(li, el.childNodes[0]);
}
myScroll.refresh();
}, 1000);
}
function
pullUpAction () {
setTimeout(
function
() {
var
el, li, i;
el = document.getElementById(
'thelist'
);
for
(i=0; i<3; i++) {
li = document.createElement(
'li'
);
li.innerText =
'Generated row '
+ (++generatedCount);
el.appendChild(li, el.childNodes[0]);
}
myScroll.refresh();
}, 1000);
}
function
loaded() {
pullDownEl = document.getElementById(
'pullDown'
);
pullDownOffset = pullDownEl.offsetHeight;
pullUpEl = document.getElementById(
'pullUp'
);
pullUpOffset = pullUpEl.offsetHeight;
myScroll =
new
iScroll(
'wrapper'
, {
scrollbarClass:
'myScrollbar'
,
useTransition:
false
,
topOffset: pullDownOffset,
onRefresh:
function
() {
if
(pullDownEl.className.match(
'loading'
)) {
pullDownEl.className =
''
;
pullDownEl.querySelector(
'.pullDownLabel'
).innerHTML =
'下拉刷新...'
;
}
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 =
'松手开始更新...'
;
this
.minScrollY = 0;
}
else
if
(
this
.y < 5 && pullDownEl.className.match(
'flip'
)) {
pullDownEl.className =
''
;
pullDownEl.querySelector(
'.pullDownLabel'
).innerHTML =
'下拉刷新...'
;
this
.minScrollY = -pullDownOffset;
}
else
if
(
this
.y < (
this
.maxScrollY - 5) && !pullUpEl.className.match(
'flip'
)) {
pullUpEl.className =
'flip'
;
pullUpEl.querySelector(
'.pullUpLabel'
).innerHTML =
'松手开始更新...'
;
this
.maxScrollY =
this
.maxScrollY;
}
else
if
(
this
.y > (
this
.maxScrollY + 5) && 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 =
'加载中...'
;
pullDownAction();
}
else
if
(pullUpEl.className.match(
'flip'
)) {
pullUpEl.className =
'loading'
;
pullUpEl.querySelector(
'.pullUpLabel'
).innerHTML =
'加载中...'
;
pullUpAction();
}
}
});
setTimeout(
function
() { document.getElementById(
'wrapper'
).style.left =
'0'
; }, 800);
}
document.addEventListener(
'touchmove'
,
function
(e) { e.preventDefault(); },
false
);
document.addEventListener(
'DOMContentLoaded'
, loaded,
false
);
相关推荐
iscroll4是iscroll的一个早期版本,虽然可能没有最新版的功能丰富,但依然在许多项目中被广泛使用。 iscroll4的核心特性包括: 1. **高性能滚动**:iscroll4通过高效的事件处理和动画更新,确保在各种设备上的滚动...
一、iScroll简介 iScroll 是一款针对web app使用的滚动控件,它可以模拟原生IOS应用里的滚动列表操作,...二、iScroll使用方法 1.iScroll使用结构 最优化使用iScroll的结构一般如下所示: HTML: <li></li> ...
4. **控制iscroll**:通过iscroll实例的方法,如`scrollTo`、`refresh`等,你可以手动控制滚动位置或刷新iscroll的状态。 iscroll的优点包括: - **高性能**:iscroll采用硬件加速技术,确保在各种设备上都能流畅...
4. **实时刷新iscroll**:在数据加载完成后,使用`myScroll.refresh()`方法更新iscroll的状态。 iscroll作为一个强大的滚动解决方案,不仅简化了移动设备上滚动效果的实现,还为开发者提供了丰富的定制化选项和事件...
6. **销毁iscroll**:在不再使用iscroll时,应调用`destroy`方法释放资源。 **三、iscroll5的优化技巧** 1. **避免使用内联样式**:iscroll5可能与内联样式冲突,建议使用CSS类来设置样式。 2. **正确设置CSS属性...
iscroll 的API主要涉及实例化、事件绑定、方法调用等。中文API地址:[http://www.gafish.net/api/iScroll.html](http://www.gafish.net/api/iScroll.html)。以下是一些关键API: - `new iScroll('wrapper', options...
当不再需要iScroll的滚动功能时,可以通过销毁方法来移除所有与iScroll相关的事件处理器和定时器,以释放内存资源。 在开发过程中,如果遇到iScroll在某些特定平台或设备上出现兼容性问题,可以查阅iScroll的更新...
本文将深入探讨jQuery iScroll下拉刷新插件的使用方法、原理及其实现细节。 首先,我们要理解jQuery iScroll是什么。iScroll是由Matteo Spinelli开发的一个JavaScript滚动库,它提供了一种优雅的方式来处理页面滚动...
创建`iscroll`实例是使用`iscroll`的第一步。你需要指定一个DOM元素作为滚动区域,并配置一些参数: ```javascript var myScroll = new IScroll('#wrapper', { scrollX: true, // 水平滚动 scrollY: true, // ...
- 使用方法:可以使用`setTimeout`函数延迟初始化,确保页面资源加载完成: ```javascript <script src="iscroll.js"> var myScroll; function loaded() { setTimeout(function() { myScroll = new iScroll...
4. **触发上拉刷新和下拉加载**:当用户执行上拉或下拉操作时,你可以手动触发iscroll的相应方法。 ```javascript myScroll.refresh(); // 刷新iscroll状态 myScroll.pullDownRefresh(); // 触发上拉刷新 ...
iscroll提供了`scrollTo`方法来实现这一点。通常,我们会在页面的某个角落(如右下角)放置一个返回顶部的按钮,当用户点击时,调用`scrollTo`方法将滚动位置设置为(0,0),即页面的最顶端。为了增加用户体验,还可以...
4. **更新iscroll内容**:如果滚动区域的内容发生变化,需要调用`refresh`方法来更新iscroll的状态。 在提供的文件列表中,我们看到有以下几个部分: - `index.html`:这是网页的主体部分,包含了iscroll应用的...
**iscroll4详解** iscroll4是一款轻量级的...理解并熟练掌握iscroll4的使用方法和技巧,对于开发高效、流畅的移动端页面具有重要意义。通过不断的实践和优化,开发者能够充分发挥iscroll4的功能,打造优质的用户体验。
5. 在接收到服务器响应后,利用iscroll的API方法(如`refresh`或`scrollTo`)更新滚动状态。 在实际项目中,开发者可能还需要考虑性能优化,如延迟加载、按需加载等策略,以减少初始页面加载时间和内存占用。...
在IT行业中,iscroll5是一款广泛使用的轻量级滚动插件,特别适合处理移动设备上的滚动事件。这个项目“iscroll5 不改动官方源码下拉刷新”提供了一种方法,使得开发者能够在不修改iscroll5核心源码的前提下实现下拉...
**iscroll5.2.0** 是一个轻量级、高性能的JavaScript滚动库,由Matteo Spinelli开发,主要用于解决...通过理解和掌握iscroll的使用方法,开发者可以轻松地为项目添加这些交互特性,同时保持页面的流畅性和响应性。
7. **实时更新**:如果滚动内容是动态加载的,iscroll提供了`refresh`方法来重新计算滚动区域的大小和内容,确保滚动行为的准确性。 综上所述,iscroll是一个强大的工具,能够帮助开发者实现复杂的滚动效果,尤其是...
iScroll是一种高性能,小体积,无依赖性,跨平台的JS滚动...*删除未使用的变量*在标签名称不区分大小写检查新功能*新的`off`方法来卸载自定义事件*添加`options.deceleration`改变的势头持续时间/速度*新增发行说明文件