国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue 開發音樂播放器之歌手頁右側快速入口功能

2019-11-19 13:18:48
字體:
來源:轉載
供稿:網友

快速入口的列表是其實是之前處理的歌手的數據中的關于title的列表

shorcutList屬性是計算屬性 通過ret數組中的title計算到的

所以我們要在singer.vue組件中將數據傳入到list-view組件

list-vue 組件在props中接受

shortcut快速入口列表 所用到的屬性 是計算屬性 通過將singer.vue組件中傳入到list-view組件中的數據計算得到

將得到的shortcutList數據通過v-for展示在頁面

效果圖如下

下面來實現功能

1、點擊右側快速入口 左側的列表跳轉到對應位置

實現:給shortcutList一個touchstart方法

此時 就已實現點擊右側的快速入口 左側的歌手列表跳轉功能

功能2、滑動右側的快速入口 左側的歌手列表對應滑動 我們只需要獲取到手指放在右側快速列表之前的位置 和獲取到手指離開右側快速列表的位置 做差 然后處理快速列表的li的高度 就可以知道變化的索引的值 然后讓左側的歌手列表運動到變化的索引處即可

給shortcutList一個@touchmove.stop.prevent="onShortcutTouchMove"

手指放上去的時候:

手指離開的時候:

功能三:當左側歌手列表滑到對應的位置 右側快速入口對應索引處高亮顯示 此時要監聽scroll事件 將左側列表滾動的scrollY與左側列表對應的每個區間li的高度將比較 得到currentIndex的值 當右側快速入口的index===currentIndex時高亮顯示

獲取各區間高度值

各區間高度對應的值

因為我們之前給height=0 然后前一個的上限值 等于后一個的下限值 所以我們的高度數組中的值 會比右側列表中的真實數據的個數多一個

監控data 我們需要監控兩個值:一個是當scroll滾動列表中的數據變化導致高度變化的時候 我們對應的高度區間也要變化

上圖中的scroll屬性是兒子組件scroll的 scroll方法是父親組件listview的

兒子組件:this.scroll.on('scroll',()=>{me.$emit('scroll',pos)})

這行代碼的意思是:當我觸發滾動事件的時候就向上派發一個名為scroll的方法 還帶有參數pos 父組件接受到派發的這個方法之后 就觸發自己綁定的方法 本項目中父組件自己綁定的方法叫scroll

$emit()方法的第一個參數scroll要和父組件的@scroll項對應

f父元素觸發自己綁定的scroll方法之后 將pos.y的值賦值給了this.scrollY

j接下來我們監控listview中的data的變化 以及scrollY的變化 每次data變了就要重新計算calculateHeight

監控到scrollY的變化然后將_calculateHeight()方法中得到的各區間的數組的高度與scrollY相比較

得到對應的currentIndex

總結

以上所述是小編給大家介紹的Vue 開發音樂播放器之歌手頁右側快速入口功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建平县| 高青县| 金寨县| 车致| 三门县| 武陟县| 连州市| 盈江县| 临安市| 博白县| 尼勒克县| 塔城市| 丽水市| 桂林市| 吉木乃县| 桐城市| 德令哈市| 固原市| 吴桥县| 固原市| 临泉县| 绩溪县| 青岛市| 昌邑市| 宿迁市| 闽清县| 库车县| 河西区| 古蔺县| 长岭县| 鄢陵县| 紫阳县| 东乡| 山阴县| 正定县| 承德县| 平舆县| 双城市| 仁化县| 铜鼓县| 新民市|