根據is 屬性 後面的組件名匹配css
<component :is="組件的名字"></component>
能夠利用僞類選擇器, 來給背景來一層, rgba(0,0,0,0.5)模糊vue
運用動態組件, 先讓動態組件匹配過渡頁面, 當過渡頁面完成匹配真正的主頁。正則表達式
![image-20200523214903726](/Users/jackson/Library/Application Support/typora-user-images/image-20200523214903726.png)數組
上圖就是監聽頁面的load事件,完成後就切換動態組件的匹配fetch
![image-20200523215521004](/Users/jackson/Library/Application Support/typora-user-images/image-20200523215521004.png)動畫
![image-20200523215549464](/Users/jackson/Library/Application Support/typora-user-images/image-20200523215549464.png)code
運用正則表達式來匹配到全部的 歌詞, 以歌詞中的事件。component
![image-20200523215824808](/Users/jackson/Library/Application Support/typora-user-images/image-20200523215824808.png)索引
能夠經過下面的方式獲取到歌曲播放的時間: (單位爲s) 而後傳遞給子組件事件
![image-20200523220043346](/Users/jackson/Library/Application Support/typora-user-images/image-20200523220043346.png)
在播放時獲取時間而且傳遞,在暫停時取消獲取
![image-20200523220814694](/Users/jackson/Library/Application Support/typora-user-images/image-20200523220814694.png)
對應哪一句歌詞就是比播放到的時間小&&最接近的那個
![image-20200523221055762](/Users/jackson/Library/Application Support/typora-user-images/image-20200523221055762.png)
以後動態添加高亮的樣式給相應的那個p標籤
監聽對應歌詞的改變,隨着改變進行歌詞區域的向上平移就能夠了
![image-20200523221312197](/Users/jackson/Library/Application Support/typora-user-images/image-20200523221312197.png)
上面經過js的方式獲取到了每個p標籤的高度加上p上下兩邊的所佔的長度, 即爲每句歌詞須要滾動的距離。
具體樣式更精細的實現能夠再精細一點!