vue better-scroll用法
阿新 • • 發佈:2018-11-11
滾動位置固定:在vue中通過路由切換頁面時元件會自動滾動到頂部,需要監聽滾動行為才能讓滾動位置固定,better-scroll解決了這個問題。
常用效果:移動端很常見的效果,當滑動右邊部分的時候,左邊會聯動顯示與當前內容相符合的標題高亮,當點選左邊某一個標題的時候,右邊會自動滑動到相應的內容。
npm install better-scroll --save
實現及說明
1.滾動效果
better-scroll在使用的時候需要在dom元素渲染完成之後初始化better-scroll的例項,初始化的時候,先要獲取需要滑動的元素,然後在初始化的時候將獲取到的元素傳遞給初始化函式,此時便可實現滑動效果
2.左右聯動效果
左右聯動效果的實現,是better-scroll通過監聽事件實現的。
首先獲取到右邊內容盒子的高度,然後獲取到該盒子中每一項的高度並做前n項高度累加(第n項的高度是前n項的高度和)儲存到listHeight陣列中。在初始化的時候傳遞屬性probeType=3 (探針的效果,時時獲取滾動高度),並給右邊的內容盒子物件監聽scroll事件,從而時時獲取Y軸位置,來與listHeight陣列中的資料做比較,時時計算當前的索引值,並給對邊對應索引值的項新增背景色高亮,從而實現右邊滑動,聯動左邊。
當點選左邊的每一項的時候,獲取到當前的索引值,並根據當前的索引值獲取到與右邊內容盒子中對應索引的元素,右邊的盒子元素通過監聽scrollToElement,並傳遞獲取到的對應索引元素和動畫時間,從而實現點選左邊,實現右邊聯動;