基于iscroll的滾動導(dǎo)航

仿寫支付寶更多頁面中的滾動導(dǎo)航效果:

? ?工具:jquery、iscroll-probe.js

? ? iscroll介紹:

iScroll是一個高性能,資源占用少,無依賴,多平臺的javascript滾動插件。

它可以在桌面,移動設(shè)備和智能電視平臺上工作。它一直在大力優(yōu)化性能和文件大小以便在新舊設(shè)備上提供最順暢的體驗。

iScroll不僅僅是 滾動。它可以處理任何需要與用戶進(jìn)行移動交互的元素。在你的項目中包含僅僅4kb大小的iScroll,你的項目便擁有了滾動,縮放,平移,無限滾動,視差滾動,旋轉(zhuǎn)功能。給它一個掃帚它甚至能幫你打掃辦公室。

即使平臺本身提供的滾動已經(jīng)很不錯,iScroll可以在此基礎(chǔ)上提供更多不可思議的功能。具體來說:

細(xì)粒度控制滾動位置,甚至在滾動過程中。你總是可以獲取和設(shè)置滾動器的x,y坐標(biāo)。

動畫可以使用用戶自定義的擦出功能(反彈'bounce',彈性'elastic',回退'back',...)。

你可以很容易的掛靠大量的自定義事件(onBeforeScrollStart, *

開箱即用的多平臺支持。從很老的安卓設(shè)備到最新的iPhone,從Chrome瀏覽器到IE瀏覽器。

關(guān)于版本:

iscroll.js,這個版本是常規(guī)應(yīng)用的腳本。它包含大多數(shù)常用的功能,有很高的性能和很小的體積。

iscroll-lite.js,精簡版本。它不支持快速跳躍,滾動條,鼠標(biāo)滾輪,快捷鍵綁定。但如果你所需要的是滾動(特別是在移動平臺)?iScroll 精簡版?是又小又快的解決方案。

iscroll-probe.js,探查當(dāng)前滾動位置是一個要求很高的任務(wù),這就是為什么我決定建立一個專門的版本。如果你需要知道滾動位置在任何給定的時間,這是iScroll給你的。(我正在做更多的測試,這可能最終在常規(guī)iscroll.js腳本,請留意)。

iscroll-zoom.js,在標(biāo)準(zhǔn)滾動功能上增加縮放功能。

iscroll-infinite.js,可以做無限緩存的滾動。處理很長的列表的元素為移動設(shè)備并非易事。?iScroll infinite版本使用緩存機(jī)制,允許你滾動一個潛在的無限數(shù)量的元素

我使用的是iscroll-probe.js版本,之所以使用這個版本是因為該例子中需要用到監(jiān)聽滾動的事件

onScroll事件

The?scroll?event is available on?iScroll probe edition?only (iscroll-probe.js). The probe behavior can be altered through the?probeType?option.?scroll事件在iScroll probe edition版本中有效(僅包含在iscroll-probe.js腳本文件中)??梢酝ㄟ^改變probeType選項值來改變scroll事件的觸發(fā)時機(jī)。

options.probeType

這個屬性是調(diào)節(jié)在scroll事件觸發(fā)中探針的活躍度或者頻率。有效值有:1,?2,?3。數(shù)值越高表示更活躍的探測。探針活躍度越高對CPU的影響就越大。

probeType: 1?對性能沒有影響。scroll事件只有在滾動條不繁忙的時候觸發(fā)。?probeType: 2?除了在勢能和反彈范圍內(nèi),將在scroll事件周期內(nèi)一直執(zhí)行。這類似于原生的onScroll事件。

probeType: 3?像素級的觸發(fā)scroll事件。注意,此時滾動只關(guān)注requestAnimationFrame(即:useTransition:false).

注意iscroll在4.0和5.0版本在實例化的時候是4.0是new iScroll而5.0是new IScroll

使用iscroll時一定注意html的布局,以及對應(yīng)元素的定位,否則很容易導(dǎo)致滾動區(qū)域無法滾動的情況,具體代碼請參考:https://github.com/2276692243/iscrollNav

demo鏈接點這里:https://2276692243.github.io/iscrollNav/index.html

(上班時間,文章寫的倉促,請包涵,如發(fā)現(xiàn)問題還請指正)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • title: IScroll-5的文檔date: 2017-07-03 11:10:40tags: javascr...
    Gary23閱讀 2,729評論 0 9
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,171評論 3 119
  • 驚蟄 夜 在雨落下的兩個小時又三十二分鐘的時候,我終于來到了街角的奶茶店。只不過,這一次我是為了避雨。雨很大,一...
    Hey_im_here閱讀 222評論 0 0
  • 在兒子的成長中,我大多數(shù)時候能夠使用正面管教的工具,但依然面對許多挑戰(zhàn)手足無措,不得不說最近兩周的堅持閱讀,...
    苗條小豬豬閱讀 314評論 0 0
  • 年齡不小 然不懂愛 生活強(qiáng)加的不完美 使我負(fù)重前行 若干年前 也曾怦然心動吧 可后來心化作磐石 無轉(zhuǎn)移 無處可轉(zhuǎn)移...
    蝸牛sister閱讀 249評論 0 0

友情鏈接更多精彩內(nèi)容