MUI Scroll插件的使用詳解
http://dev.dcloud.net.cn/mui/ui/#scroll
神坑1:如果在vuejs中使用,那么需要配合mui.ready(function(){}) 才能找到dom對象,具體demo為:
http://www.dbjr.com.cn/article/111085.htm
神坑2:scrollTo每次移動的距離,是相對于當前打距離的移動的,而不是移動到絕對的距離。
scroll(區(qū)域滾動)
在App開發(fā)中,div區(qū)域滾動的需求是普遍存在的,但系統(tǒng)默認實現(xiàn)又有如下問題:
- Android平臺4.0以下不支持div滾動
- Android平臺4.0以上支持div滾動,但不顯示滾動條
彈出層的div滾動在iOS平臺存在事件透傳的問題
因此,mui額外提供了區(qū)域滾動組件,使用時需要遵循如下DOM結構
<div class="mui-scroll-wrapper"> <div class="mui-scroll"> <!--這里放置真實顯示的DOM內(nèi)容--> </div> </div>
然后使用一下js
mui('.mui-scroll-wrapper').scroll({ deceleration: 0.0005 //flick 減速系數(shù),系數(shù)越大,滾動速度越慢,滾動距離越小,默認值0.0006 });
一些常用scroll功能代碼:
快速回滾到該區(qū)域頂部,代碼如下:
神坑2:scrollTo每次移動的距離,是相對于當前的距離來移動的,而不是移動到絕對的距離。
mui('.mui-scroll-wrapper').scroll().scrollTo(0,0,100);//100毫秒滾動到頂
滾動到頂部的代碼比較容易實現(xiàn),坐標值設為0、0即可;但滾動到底部,需要計算該區(qū)域的實際高度,因此mui封裝了scrollToBottom方法。
mui('.mui-scroll-wrapper').scroll().scrollToBottom(100);//100毫秒滾動到底部
關于我快速滑動demo:
神坑2:scrollTo每次移動的距離,是相對于當前的距離來移動的,而不是移動到絕對的距離。
所以通常的做法是根據(jù)當前的位置 - 將要抵達的位置,求出距離然后再進行移動,如以下的demo:
let index = $(e.event.target).index(); let id = $(e.event.target).attr("href"); let top = $(id).offset().top - 200; let current_top = mui('#segmentedControlContents .mui-scroll-wrapper').scroll().y; top = current_top - top; mui('#segmentedControlContents .mui-scroll-wrapper').scroll().scrollTo(0,top,300);
以上所述是小編給大家介紹的MUI Scroll插件的使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
TypeScript中d.ts類型聲明文件的實現(xiàn)
.d.ts 文件是 TypeScript 的類型聲明文件,它們的主要作用是為 JavaScript 庫提供類型支持,本文主要介紹了TypeScript中d.ts類型聲明文件的實現(xiàn),感興趣的可以了解一下2023-10-10