JavaScript

IScroll使用注意事项

2016-12-23  本文已影响127人  DontPushMeForev

在使用的时候一定要禁止默认事件

具体代码如下:

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);

如果不禁止默认事件的话,Iscroll默认的,滚动器到达容器边界时他反弹动画会失效,并且会一直向下滚动。

interactiveScrollbars :此属性可以让滚动条能拖动,用户可以与之交互。

fadeScrollbars:滚动条淡入淡出方式,不需要时可以设置此属性为false以便节省资源。

自定义滚动条样式:

如果你不喜欢默认的滚动条样式,而且你认为你可以做的更好,你可以自定义滚动条样式。第一步就是设置选项scrollbars的值为'custom':

var     myScroll =  newIScroll('#wrapper', {   

         scrollbars:'custom'

});

使用下面的CSS类可以简单的改变滚动条样式。

.iScrollHorizontalScrollbar,这个样式应用到横向滚动条的容器。这个元素实际上承载了滚动条指示器。

.iScrollVerticalScrollbar,和上面的样式类似,只不过适用于纵向滚动条容器。

.iScrollIndicator,真正的滚动条指示器。

.iScrollBothScrollbars,这个样式将在双向滚动条显示的情况下被加载到容器元素上。通常情况下其中一个(横向或者纵向)是可见的

演示 demo

滚动的调用接口

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方法里的一样。

上一篇下一篇

猜你喜欢

热点阅读