IScroll

这里总结一下IScroll使用应该注意的几点细节:app

一、若是内容的高度比使用iscroll的标签的小的iscroll是不能滚动,也就是不能有上拉下拉的效果。性能

二、绑定了iscroll后若是有数据变更(添加或删除了标签)须要使用refresh()方法进行刷新,要否则要失效。this

三、使用iscroll事件的时候(scrollstart,scroll,srollend)必定要设置一个参数:probeType若是没设置那么绑定事件就会无效。probeType的有效参数为1,2,3,越高就监听越精确,具体能够本身去试试。spa

四、绑定iscroll事件主要用到两个参数:this.y,this.maxScrollY;事件

this.y:就是你绑定iscroll的标签的y坐标,当在最上面的时候是0,滑到最下面就是maxScrollY;向下滑动值会增大event

this.maxScrollY:就是滑动到最后一个元素时的y坐标scroll

下拉刷新:要用到this.y;判断当y值大于多少时就执行刷新,如今广泛的都还要加上一个条件,就是松开后才刷新,要实现这个功能就要绑定touchend这个事件方法

上拉加载:用到maxScrollY,当当前的this.y大于maxScrollY某个数值的时候就进行加载,这里能够不用松开才加载,看我的喜爱总结

5、绑定IScroll的标签要记得设置overflow:hidden属性数据

六、若是在使用了iscroll的页面要绑定其余事件的时候要注意,若是用了event.preventdefalut()的方法有可能会是iscroll失效,滚动不了。

七、使用IScroll要注意不要嵌套太多标签,只有wrapper(绑定iscroll的标签)的第一个子元素才能够滚动,因此要把滚动的列表元素放进这个子元素内。

即:

<div id="wrapper">

       <div>

  滚动列表

       </div>

      <div>

     若放在这里则不会滚动

     </div>

</div>

如下就是使用IScroll会出现的一些问题:

一、当多个标签绑定了IScroll的时候偶尔会出现某个标签不能滑动,但是当刷新后又能够了,因此iscroll多的状况下对性能要求挺高的,因此不能滥用。