iscroll开发总结

前言

在接手同事代码时发现他使用了react-iscroll插件,于是对其进行一些研究,写下该文章作为总结。

正文

本文通过原理和优点两方面来表达我对iscroll理解。

原理

iscroll的原理其实很简单,通过translate这个属性来代替原生的滚动,当然,其内部实现细节没有我说的这么简单,但是为什么要使用translate这个属性来代替原生的滚动呢?

translate属性

当浏览器发现你使用transform属性时,会采用GPU参与运算,最高可使你的动画达到60FPS。那么translate也属于transform,所以使用translate在性能上是非常流畅的。光这一点可能不会让你使用iscroll,但是当你的业务需求中出现下拉刷新上拉加载,或者要你在滑动过程中增加一些响应机制时,使用iscroll就可以非常简单的解决你的需求。

优点

Granular control over the scroll position, even during momentum. You can always get and set the x,y coordinates of the scroller.
Animation can be customized with user defined easing functions (bounce, elastic, back, ...).
You can easily hook to a plethora of custom events (onBeforeScrollStart, onScrollStart, onScroll, onScrollEnd, flick, ...).
Out of the box multi-platform support. From older Android devices to the latest iPhone, from Chrome to Internet Explorer.

优点就如官网所说,我就不拾人牙慧了。

  1. 精确的控制滚动位置,即使在滚动中,你也可以去设置和得到滚动位置(scroll position);
  2. 在整个滚动过程中,有许多勾子(hook)可以让你对整个滑动进行监测与控制,例如onBeforeScrollStart,onScrollEnd;
  3. 跨平台,支持各种平台。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,461评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,620评论 25 709
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 13,469评论 0 23
  • (文:箫剑,摄影:含辛鱼) 陋室一间,壁上挂古琴数把,另悬一匾,题为“兰馨琴舍”,落款为岭南派古琴著名代表人物吕宏...
    箫剑木风阅读 4,951评论 2 9
  • 回朋友电话, 谈完所谓的正事以后,我习惯性地问她:“吃饭了吗?吃什么饭?”她高兴的告诉我,是槐花馅儿大饺子。作为馋...
    子皿悠悠阅读 3,582评论 0 3