iScroll 5 API整理

來源:互聯網
上載者:User

標籤:ntb   ...   document   簡單   分割   開啟   mini   時間間隔   lin   

IScroll是移動頁面上被使用的一款仿系統滾動外掛程式。IScroll5相對於之前的IScroll4改進了許多,使得大家可以更方便的定製所需的功能了。

做項目的時候正好用到了這個外掛程式,自己做了一下總結,發在這裡方便大家學習IScroll5。

官網:http://iscrolljs.com/

IScroll最簡單的DOM結構:

[html] view plaincopy
  1. <div id="wrapper">  
  2.     <ul>  
  3.         <li>...</li>  
  4.         <li>...</li>  
  5.         ...  
  6.     </ul>  
  7. </div>  

初始化iscroll

[javascript] view plaincopy
  1. var myScroll = new IScroll(‘#wrapper‘,options);  

初始化設定

初始化設定使用執行個體:

[javascript] view plaincopy
  1. var myScroll = new IScroll(‘#wrapper‘, {  
  2.     mouseWheel: true,  
  3.     scrollbars: true  
  4. });  

設定列表:

所屬

屬性名稱

說明

預設值

核心庫

croe

options.useTransform

是否使用CSS3的Transform屬性

true

options.useTransition

是否使用CSS3的Transition屬性,否則使用requestAnimationFram代替

true

options.HWCompositing

是否啟用硬體加速

true

options.bounce

是否啟用彈力動畫效果,關掉可以加速

true

基礎特性

Basic features

options.click

是否啟用click事件。建議關閉此選項並啟用自訂的tap事件(options.tap)

false

options.disableMouse

是否關閉滑鼠事件探測。如知道運行在哪個平台,可以開啟它來加速。

false

options.disablePointer

是否關閉指標事件探測。如知道運行在哪個平台,可以開啟它來加速。

false

options.disableTouch

是否關閉觸摸事件探測。如知道運行在哪個平台,可以開啟它來加速。

false

options.eventPassthrough

使用IScroll的橫軸滾動時,如想使用系統立軸滾動並在橫軸上生效,請開啟。

event passthrough demo

false

options.freeScroll

主要在上下左右滾動都生效時使用,可以向任意方向滾動。

2D scroll demo

false

options.keyBindings

綁定按鍵事件。

Key bindings 

false

options.invertWheelDirection

反向滑鼠滾輪。

false

options.momentum

是否開啟動量動畫,關閉可以提升效率。

true

options.mouseWheel

是否監聽滑鼠滾輪事件。

false

options.preventDefault

是否屏蔽預設事件。

true

options.scrollbars

是否顯示預設捲軸

false

options.scrollX

options.scrollY

可以設定是否顯示橫向或縱向捲軸

scrollX  false

scrollY  true

options.tap

是否啟用自訂的tap事件

可以自訂tap事件名

false

捲軸

Scrollbars

options.scrollbars

是否顯示預設捲軸

false

options.fadeScrollbars

是否漸隱捲軸,關掉可以加速

true

options.interactiveScrollbars

使用者是否可以拖動捲軸

false

options.resizeScrollbars

是否固定捲軸大小,建議自訂捲軸時可開啟。

false

options.shrinkScrollbars

滾動超出捲動界限時,是否收縮捲軸。

‘clip’:裁剪超出的捲軸

‘scale’:按比例的收縮捲軸(佔用CPU資源)

false:不收縮,

false

 

options.indicators

指示IScroll該如何滾動,Scrollbars的底層實現方式。

 

options.indicators.el

制定捲軸的容器。容器中的第一個元素即為指標。

例如:

indicators: {

    el: document.getElementById(‘indicator‘)

}

indicators: {

    el: ‘#indicator‘

}

 

options.indicators.ignoreBoundaries

是否忽略容器邊界。設為true 可以設定捲動速度

parallax demo

false

options.indicators.listenX

options.indicators.listenY

指標監聽那個方向的滾動,可以設定為一個方向或2個方向

true

options.indicators.speedRatioX

options.indicators.speedRatioY

指標相對主捲軸的速度

0

options.indicators.fade

options.indicators.interactive

options.indicators.resize

options.indicators.shrink

如scrollbars的設定

minimap demo

 

options.probeType

需要使用iscroll-probe.js才會生效

probeType:1  滾動不繁忙的時候觸發

probeType:2  滾動時每隔一定時間觸發

probeType:3  每滾動一像素觸發一次

 

分割頁面snap

options.snap

自動分割容器,用於製作走馬燈效果等。

Options.snap:true//根據容器尺寸自動分割

Options.snap:el//根據元素分割

false

縮放

zoom

options.zoom

是否開啟縮放

最好使用iscroll-zoom.js

如放大模糊,可將源容器定義為2倍大小,然後scale(0.5)

zoom demo

false

options.zoomMax

最大縮放等級

4

options.zoomMin

最小縮放等級

1

options.startZoom

初始縮放等級

1

options.wheelAction

滾輪動作

設為’zoom’,可以用滾輪縮放

undefined

更多設定

options.bindToWrapper

游標、觸摸超出容器時,是否停止滾動

false

options.bounceEasing

彈力動畫效果

預置效果:‘quadratic‘, ‘circular‘, ‘back‘, ‘bounce‘, ‘elastic‘(最後兩個不能通過css3表現)

還可以自訂效果

bounceEasing: {

    style: ‘cubic-bezier(0,0,1,1)‘,//css3時

    fn: function (k) { return k; }//不使用css3,使用requestAnimationFrame時

}

‘circular‘

options.bounceTime

彈力動畫持續的毫秒數

600

options.deceleration

滾動動量減速

越大越快,建議不大於0.01

0.0006

options.mouseWheelSpeed

滑鼠滾輪速度

 

options.preventDefaultException

列出哪些元素不屏蔽預設事件;

{tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }

options.resizePolling

重新調整視窗大小時,重新計算IScroll的時間間隔

60

鍵位綁定

options.keyBindings

監聽按鍵事件控制IScroll

例如:

keyBindings: {

    pageUp: 33,

    pageDown: 34,

    end: 35,

    home: 36,

    left: 37,

    up: 38,

    right: 39,

    down: 40

}

 

 

     

 

IScroll5的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即為螢幕中心

scroll to element

分割頁面snap

goToPage(x, y, time, easing)

根據options.snap分割頁面,跳轉到橫向、縱向某頁。XY可以同時生效。

結合options.snap使用

next()

prev()

上一頁,下一頁

結合options.snap使用

縮放

zoom(scale, x, y, time)

縮放容器

Scale:縮放因子

重新整理

refresh()

重新整理IScroll

銷毀

destroy()

銷毀IScroll,節省資源

     

 

IScroll的事件

事件使用執行個體:

[javascript] view plaincopy
  1. myScroll = new IScroll(‘#wrapper‘);  
  2. myScroll.on(‘scrollEnd‘, doSomething);  

 

beforeScrollStart

使用者點擊螢幕,但是還未初始化滾動前

scrollCancel

初始化滾動後又取消

scrollStart

開始滾動

scroll

滾動中

scrollEnd

滾動結束

flick

輕擊螢幕左、右

zoomStart

開始縮放

zoomEnd

縮放結束

 

IScroll的屬性

myScroll.x/y

當前位置

myScroll.directionX/Y

上一次的滾動方向(-1 下/右, 0 保持原狀, 1 上/左)

myScroll.currentPage

當前Snap資訊

myScroll.maxScrollXmyScroll.maxScrollY

當滾動到底部時的 myScroll.x/y

 

   

iScroll 5 API整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.