Scroll需要对所要进行滚动的元素进行初始化,并且不限定一个页面中使用iScroll的元素的个数(这里不考虑您的硬件配置)。滚动元素中内容的类型和长度在一定程度上将会影响iScroll脚本库里可以同时使用的元素的个数。
使用iScroll这个脚本库时,DOM树的结构要足够简单,移除不必要的标签,尽量避免过多的标签嵌套使用。
最优的使用iScroll的结构如下所示:
var myScroll;function loaded(){ myScroll =new iScroll('wrapper',{ checkDOMChanges:true}); /* setInterval(function () { if (myScroll.isReady()) document.getElementById('thelist').innerHTML += '<UL><LI>new row</LI></UL>'; }, 2000); */} document.addEventListener('touchmove',function(e){e.preventDefault();},false); document.addEventListener('DOMContentLoaded', loaded,false);
<divid="wrapper"> <divid="scroller"> <ul> <li></li> ... </ul> </div> </div>
iScroll需要对所要进行滚动的元素进行初始化,并且不限定一个页面中使用iScroll的元素的个数(这里不考虑您的硬件配置)。滚动元素中内容的类型和长度在一定程度上将会影响iScroll脚本库里可以同时使用的元素的个数。
使用iScroll这个脚本库时,DOM树的结构要足够简单,移除不必要的标签,尽量避免过多的标签嵌套使用。
iScroll里传递的参数
iScroll里的第二个参数允许你自定义一些内容,比如下面的这段代码:
var myscroll=new iScroll("wrapper",{hScrollbar:false,vScrollbar:false});
第二个参数通常都是一个对象,像上面的这个例子里就设定了不显示滚动条。常用的参数如下:
hScroll false 禁止横向滚动 true横向滚动 默认为true
vScroll false 精致垂直滚动 true垂直滚动 默认为true
hScrollbar false隐藏水平方向上的滚动条
vScrollbar false 隐藏垂直方向上的滚动条
fixedScrollbar 在iOS系统上,当元素拖动超出了scroller的边界时,滚动条会收缩,设置为true可以禁止滚动条超出
scroller的可见区域。默认在Android上为true, iOS上为false
fadeScrollbar false 指定在无渐隐效果时隐藏滚动条
hideScrollbar 在没有用户交互时隐藏滚动条 默认为true
bounce 启用或禁用边界的反弹,默认为true
momentum 启用或禁用惯性,默认为true,此参数在你想要保存资源的时候非常有用
lockDirection false取消拖动方向的锁定, true拖动只能在一个方向上(up/down 或者left/right)
为了保持资源的完整性,建议去除滚动条
iScroll拉动刷新(pull to refresh)
自从Twitter和一些Apple的本地化应用出现了这个效果之后,这个效果就变得非常流行。你可以看看这儿先一睹为快。 最近把"pull to refresh"这个部分单分出来作为iScroll的一个额外插件。你可以点击这儿看看pull to refresh是如何工作滴。你只需要做的就是自定义pullDownAction()这个方法。你可能需要一个ajax来加载新的内容,不过一旦DOM树发生 了变化要记得调用refresh这个方法来。需要记住的是在例子中我们加了1秒的延迟来模拟网络的延迟效果。当然,如果 你不想使用这个延迟,那就把setTimeout方法去掉就行了。
iScroll缩放(pinch / zoom)
我们不得不面对一个事实,那就是光有滚动其实没什么新意的。这就是为什么在iScroll 4这个版本里我们允许你可以放 大和缩小。想要这个功能,只需要设置放大的参数zoom 为true即可实现利用手势来放大和缩小。你可以看看这儿。 双击放大和缩小的功能在iScroll 4里也是得到支持的。要使用缩放功能,你至少需要如下配置: var myScroll =new iScroll("wrapper",{zoom:true}); 如果你想对缩放功能进行深度的自定义的话可以使用下面的一些选项: zoomMax 指定允许放大的最大倍数,默认为4 【注意事项】:如果想要图片缩放的效果很好的话要把他们放到硬件的合成层中。通俗点说,就是在所有需要缩放的 img元素上使用-webkit-transform:translate3d(0,0,0)来实现,而且尤为重要的是,硬件的加速会占用大量 资源,要谨慎使用,否则你的应用可能就此崩溃。
iScroll捕捉元素(snap and snap to element)
捕捉的功能会促使scroller去重新定义位置,这样可以制作更加花哨的传送带效果。点击这里有个小例子。 默认情况下,iScroll将scroller分成四分体,或者是相同大小的wrapper。iScroll 4加入了这个属性允许捕捉scroller里的 任何元素,不考虑外部wrapper的大小。如果你想要实现这样的传送带效果,我建议你使用“quadrant”分割。最佳的设 置如下:
var myscroll=new iScroll("wrapper",{snap:true, momentum:false, hScrollbar:false, vScrollbar: false});
iScroll捕获元素,可以通过传递一个字符串来作为查询条件,如下:
var myscroll=new iScroll("wrapper",{snap:"li",momentum:false, hScrollbar:false, vScrollbar:false});
在这个例子中scroller可以捕捉到滚动区域中最左上角的li元素
iScroll自定义滚动条(custom scrollbars)
在iScroll 4这个版本中,可以利用一系列的css来自定义滚动条的呈现。可以给滚动条添加一个class参数,如下:
var myscroll=new iScroll("wrapper",{scrollbarClass: "myScrollbar"});
你可以点击这里看一个小例子,在这个小例子里,myScrollbarH这个类被添加到了水平滚动条上,myScrollbarV这个 类则被添加给了垂直方向上的滚动条上了。需要提醒的是,滚动条是由两个元素组合而成的:容器和显示器。容器同 wrapper的高度相同,而显示器则代表的是滚动条本身。 滚动条的HTML结构如下:
<divclass="myScrollbarV"><div></div></div> .myscrollbarV{position:absolute;zindex:100;width:8px;bottom:7px;top:2px;right:1px; } .myScrollbarV div {position:absolute;z-index:100; width:100%; /* The following is probably what you want to customize */ background:-webkit-gradient(linear, 0 0, 100% 0, from(#f00), to(#900));border:1px solid #800; -webkit-background-clip:padding-box;-webkit-box-sizing:border-box;-webkit-border-radius:4px; -webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,0.5); }
iScroll通用方法:
(1)refresh 在DOM树发生变化时,应该调用此方法
(2)scrollTo() 滚动到某个位置 eg: myscroll.scrollTo(0,10,200,true);
(3)scrollToElement() 滚动到某个元素 eg: myscroll.scrolToElement("li:nth-child(10)",100);
(4)detroy() 完全消除myscroll及其占用的内存空间 eg: myscroll.destroy()
相关推荐
iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生完全是因为移动版webkit浏览器(诸如iPhone,iPad,Android 这些系统上广泛使用) 提供了一种本地化的方式来对一个限定了高度和宽度的...
iscroll4是iscroll的一个早期版本,虽然可能没有最新版的功能丰富,但依然在许多项目中被广泛使用。 iscroll4的核心特性包括: 1. **高性能滚动**:iscroll4通过高效的事件处理和动画更新,确保在各种设备上的滚动...
**iscroll框架详解** iscroll是一款轻量级的JavaScript库,专为移动设备设计,用于实现高效率的触摸滚动效果。它支持水平和垂直滚动,同时具备首位元素固定的特性,使得在滚动过程中头部和底部元素始终可见,提升了...
iscroll4.js不仅提升了用户体验,还包含了上拉刷新和下拉加载更多的功能,这对于内容分页和实时更新的应用场景尤为重要。 在HTML5页面中,iscroll4.js的核心功能在于处理滚动事件。通过监听用户的滑动操作,iscroll...
iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生完全是因为移动版webkit浏览器(诸如iPhone,iPad,Android这些系统上广泛使用)提供了一种本地化的方式来对一个限定了高度和宽度的元素的...
**iscroll4详解** iscroll4是一款轻量级的...理解并熟练掌握iscroll4的使用方法和技巧,对于开发高效、流畅的移动端页面具有重要意义。通过不断的实践和优化,开发者能够充分发挥iscroll4的功能,打造优质的用户体验。
1. **高性能**:iScroll-4 使用硬件加速,能够处理大量的DOM元素,提供流畅的滚动效果。 2. **多平台支持**:适用于各种浏览器和移动设备,包括iOS、Android、Windows Phone等。 3. **可定制性**:支持多种配置选项...
iscroll最新版中文说明,为了更方便查看iscroll5.2.0版本说明,专门制作了 iscroll5.2.0 API中文说明.chm版,方便各大移动开发爱好了更好的、更方便查看iscroll5.2.0 API。
下面我们将深入探讨如何使用`iscroll-4`在`H5`页面中实现这一功能。 `iscroll-4`是由Matteo Spinelli开发的一个轻量级JavaScript库,专门用于处理触摸设备上的滚动事件。它提供了平滑的滚动效果,支持多种手势,...
iscroll.js是Matteo Spinelli开发的一个js文件,使用原生js编写,不依赖与任何js框架。旨在解决移动webkit系浏览器的区域滚动问题,兼容mobile safari、android默认浏览器、safari、chrome、firefox5+、opera11+、IE...
1. **初始化**:需要对想要滚动的元素进行初始化,iScroll不限制一个页面中使用该库的元素数量。然而,滚动元素中内容的类型和长度会影响到可以同时滚动的元素数量。 2. **DOM结构**:为了获得最佳性能,DOM树应尽...
首先,你需要将iscroll-4库引入到项目中,可以通过下载压缩包或者使用npm来获取。引入后,在需要实现滚动效果的元素上使用iscroll,一般步骤如下: ```html <!-- 滚动内容 --> <script src="path/to/...
使用经典插件iScroll4稍作封装,采用ajax请求数据,实现移动端列表页的功能; 1.下拉刷新当前列表页数据; 2.上滑加载更多列表数据; iScroll4简介: iScroll 4 这个版本完全重写了iScroll这个框架的原始代码...
4. **事件监听**:iScroll提供了一系列的事件,如`scrollStart`、`scroll`、`scrollEnd`等,可以监听用户的滚动行为,从而实现更丰富的交互。例如,可以在`scrollEnd`事件中处理用户滚动停止时的逻辑。 5. **性能...
4. **控制iscroll**:通过iscroll实例的方法,如`scrollTo`、`refresh`等,你可以手动控制滚动位置或刷新iscroll的状态。 iscroll的优点包括: - **高性能**:iscroll采用硬件加速技术,确保在各种设备上都能流畅...
本文将重点讲解iscroll5的刷新功能及其与iscroll4的区别。 **一、iscroll5的刷新功能(pull-to-refresh)** 1. **基本概念**:Pull-to-refresh,即“下拉刷新”,是移动应用中常见的一种交互模式,用户通过在内容...
iscroll5相较于之前的iscroll4版本,引入了许多改进和新特性。例如,性能优化,支持更复杂的布局(如嵌套滚动),提供了更丰富的API接口,以及更好的触摸事件处理。在这个实例中,我们可以看到如何将这些特性应用到...