在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 如何使用JS做一個類似于原生的滾輪插件?

如何使用JS做一個類似于原生的滾輪插件?

需求:

圖片描述

上面是原生滾輪插件的效果圖,現(xiàn)在需要用JS實現(xiàn)一個類似的滾輪插件。

使用過的方法:

模仿滾動我采取的方式是使用overflow:scroll的方式。這樣性能是最好的但是存在以下倆種問題:

1.滑動過后并不會準確的卡在線條中間。

解決方法:當使用一個定時器檢測到滾輪停止?jié)L動了,就進行一次位置計算,不是正確位置,則設計一個動畫,讓其滾動到正確位置。但是動畫效果不理想

2.禁用scroll事件,使用touchstart, touchmove, touchend方法計算滾動速度以及滾動位置

解決方法:監(jiān)測起始位置,結束為止。當touchend事件觸發(fā)的時候接管滾輪滑動,根據手指觸摸距離以及觸摸事件給滾輪設置一個模擬人手指滑動的動畫。但是touchend事件觸發(fā)并不能夠接管默認的滾輪滑動

網上有一個類似的插件LArea,但是性能并不是特別理想。他采取的方式是通過touchstart, touchmove, touchend計算手指滾動的情況,然后使用transform進行頁面元素位置計算。

相關代碼

圖片描述

上圖是我用JS做的滾輪插件,只完成了滾輪一部分,但是每次滾動文本信息都定位在中間還沒有完成。大家可以使用這個代碼快速開始
項目地址:
https://github.com/mrxu0/Whee...

回答
編輯回答
紓惘

Picker選擇器,很多現(xiàn)成的組件可用,建議題主直接看它們的源代碼研究

2017年8月5日 23:17