天天看点

iscroll视差滚动视差滚动

视差滚动

视差滚动是指示器功能的一个 附属功能

指示器是一个遵循主滚动条移动和动画的层。如果你了解它你就会理解这个功能背后的力量。增加这个功能你就可以创建任意数量的指示器和视差滚动。

请参考 视差滚动示例.

滚动的编程接口

当然还可以通过编程来进行滚动。

scrollTo(x, y, time, easing)
           

对应存在的一个叫做myScroll的iScroll实例,可以通过下面的方式滚动到任意的位置:

myScroll.scrollTo(0, -100);
           

通过上面的方式将向下滚动100个像素。记住:0永远是左上角。需要滚动你必须传递负数。

time 和 easing是可选项。他们控制滚动周期(毫秒级别)和动画的擦除效果。

擦除功能是一个有效的IScroll.utils.ease对象。例如应用一个一秒的经典擦除动画你应该这么做:

myScroll.scrollTo(0, -100, 1000, IScroll.utils.ease.elastic);
           

擦除动画的类型选项有:quadratic, circular, back, bounce, elastic。

scrollBy(x, y, time, easing)

和上面一个方法类似,但是可以传递X和Y的值从当前位置进行滚动。

myScroll.scrollBy(0, -10);
           

上面这个语句将在当前位置向下滚动10个像素。如果你当前所在位置为-100,那么滚动结束后位置为-110.

scrollToElement(el, time, offsetX, offsetY, easing)

这是一个很有用的方法,你会喜欢它的。

在这个方法中只有一个强制的参数就是el。传递一个元素或者一个选择器,iScroll将尝试滚动到这个元素的左上角位置。

time是可选项,用于设置动画周期。

offsetX 和 offsetY定义像素级的偏移量,所以你可以滚动到元素并且加上特别的偏移量。但并不仅限于此。如果把这两个参数设置为true,元素将会位于屏幕的中间。请参考例子 滚动到元素 example。

easing参数和scrollTo方法里的一样。