iScroll是一個高性能,資源佔用少,無依賴,跨平臺的javascript上拉加載,下拉刷新的滾動插件,目前版本v5.2.0。javascript
GitHub下載地址:https://github.com/cubiq/iscrollhtml
iScroll進行了不一樣的優化,爲了達到更高的性能,iScroll分爲了多個版本,你能夠根據項目選擇最適合的版本。java
目前有如下版本:git
使用方法:github
頁面引用:web
<script type="text/javascript" src="iscroll.js"></script>
HTML結構以下:緩存
1 <div id="wrapper"> 2 <ul> 3 <li>...</li> 4 <li>...</li> 5 ... 6 </ul> 7 </div>
JS初始化:微信
1 <script type="text/javascript"> 2 var myScroll = new IScroll('#wrapper'); 3 </script>
iScroll配置參數說明:app
1 var myScroll = new IScroll('#wrapper', { 2 mouseWheel: true, //是否監聽鼠標滾輪事件 3 scrollbars: true, //是否顯示默認滾動條 4 preventDefault: true,//是否屏蔽默認事件 5 preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, //列出哪些元素不屏蔽默認事件 6 probeType: 3,//須要使用 iscroll-probe.js 才能生效 probeType : 1 滾動不繁忙的時候觸發;probeType : 2 滾動時每隔必定時間觸;probeType : 3 每滾動一像素觸發一次 7 8 });
API:性能
所屬 | 方法名 | 說明 |
滾動 | scrollTo(x, y, time, easing) | 滾動到: x , y ,事件, easing 方式 x:int y:int time:int Easing: quadratic | circular | back | bounce | elastic 見 IScroll.utils.ease 對象 例: myScroll.scrollTo(0, -100, 1000, IScroll.utils.ease.elastic); |
scrollBy(x, y, time, easing) | 滾動到相對於當前位置的某處其他同上 | |
scrollToElement(el, time, offsetX, offsetY, easing) | 滾動到某個元素。 el 爲必須的參數offsetX/offsetY :相對於 el 元素的位移。設爲 true 即爲屏幕中心 | |
分割頁面 snap | goToPage(x, y, time, easing) | 根據 options.snap 分割頁面,跳轉到橫向、縱向某頁。 XY 能夠同時生效。 |
next() prev() | 上一頁,下一頁結合 options.snap使用 | |
縮放 | zoom(scale, x, y, time) | 縮放容器Scale: 縮放因子 |
刷新 | refresh() | 刷新 IScroll |
銷燬 | destroy() | 銷燬 IScroll ,節省資源 |
事件使用:
beforeScrollStart | 用戶點擊屏幕,可是還未初始化滾動前 |
scrollCancel | 初始化滾動後又取消 |
scrollStart | 開始滾動 |
scroll | 滾動中 |
scrollEnd | 滾動結束 |
flick | 輕擊屏幕左、右 |
zoomStart | 開始縮放 |
zoomEnd | 縮放結束 |
這個在微信中使用仍是存在一些小問題,歡迎你們拍磚,共同交流探討。
喜歡H5,web開發的朋友能夠加羣:374166122
請使用手機"掃一掃"x