音樂歌詞

 開始學習HTML5css3了,剛學了audiovideo標籤就作了一個簡單的同步歌詞的播放器,很簡單,沒什麼技術含量……嘿嘿!css

原理很簡單就是經過給audio添加一個timeupdate事件,每當播放時間改變的時候就獲取當前播放時間來改變歌詞top值,使歌詞上移。 css3

核心JS代碼以下: ide

 

   
   
   
   
  1. var video = document.querySelector('audio'); 
  2. var control = document.querySelector('.scroll p'); 
  3. var scroll = document.querySelector('.scroll span'); 
  4. var lrc = document.querySelector('.lrc ul') 
  5. var times = document.getElementsByClassName('time'); 
  6. var time = []; 
  7. for(var i=0;i<times.length;i++){ 
  8. time[i]=times[i].innerText; 
  9. control.onclick = function (){ 
  10. if(video.paused){ 
  11. video.play(); 
  12. control.style.backgroundImage='url(btn1.png)'
  13. else{ 
  14. video.pause(); 
  15. control.style.backgroundImage='url(btn2.png)'
  16. var num=0
  17. var top1=30
  18. video.addEventListener('timeupdate',function (){ 
  19. var t=video.currentTime/video.duration ; 
  20. scroll.style.height=t*300+'px'; 
  21. if(t*300>=60){control.style.opacity='0.2';} 
  22. if(t*video.duration>=time[num]&&t*video.duration<=time[num+1]){ 
  23. top1-=30
  24. num++; 
  25. lrc.style.top=top1+'px'; 
  26. else if(t*video.duration>=time[num+1]){top1-=30;num++;console.log(num);} 
  27. else if(t*video.duration<time[num]){top1+=30;num--;} 
  28. },false) 
相關文章
相關標籤/搜索