document.body.onclick=function(){ //点击播放器外面的事物时关闭抽屉 document.querySelector("#playlist").classList.add("yhidden"); document.getElementById('bgmplayer').classList.remove("bgmon"); }; document.getElementById('bgmplayer').onclick=function(){ //避免事件被覆盖 event.stopPropagation(); }; function playlist(){//歌曲列表具现化 var element = document.getElementById('playlist'); element.innerHTML=''; if(musicApi.length>0&&musicArr.length==0){ var ydapi=musicApi[0];//console.info(musicApi[0]); fetch(ydapi.api+'?server='+ydapi.type+'&type=playlist&id='+ydapi.id+'&auth='+ydapi.auth).then(response => response.json()).then(data=>{ if(musicArr.length==0){ musicArr=data; if(ydapi.sj=='1'){a=parseInt(Math.random()*musicArr.length);} sj=musicArr[a]; //console.info(musicArr[0].mp3); yaudio.src=sj.mp3; yaudio.ti=sj.title; yaudio.art=sj.artist; yaudio.fm=sj.cover; } for (var i = 0; i < musicArr.length; i++){ var item = musicArr[i];var anum = i+1; if(anum<10){anum='0'+anum;} var geshou=""; if(item.artist){ geshou= ' - '+item.artist+''; } element.innerHTML=element.innerHTML+'
  • '+anum+'.'+item.title+''+geshou+'
  • '; if (item.mp3 == "") { document.querySelectorAll("#playlist li")[i].style.color='#ddd'; } } var playlistli=document.querySelectorAll("#playlist li"); playlistli.forEach((value, index) => { playlistli[index].classList.remove("yd-playing"); playlistli[index].onclick=function(){ next(index);//使用next函数进行点播 }; }); playlistli[a].classList.add("yd-playing"); var ody=document.getElementById('ydmc'); var geshou=''; if (yaudio.paused) {var autopause=0; ody.innerHTML= ''; document.getElementById("ydfm").classList.add("paused"); } else {var autopause=1; ody.innerHTML = ''; document.getElementById("ydfm").classList.remove("paused"); } if(yaudio.art.length>0){geshou=' - '+yaudio.art;} document.getElementById('ydtitle').innerHTML = yaudio.ti+geshou; document.getElementById("ydfm").src=yaudio.fm; var setProgress = function(value){ var currentSec = parseInt(value%60) < 10 ? '0' + parseInt(value%60) : parseInt(value%60), ratio = value / yaudio.duration * 100; document.getElementById('jindu').style.width=ratio+'%'; document.getElementById('ytime').innerHTML = (parseInt(value/60)+':'+currentSec); } var updateProgress = function(){ setProgress(yaudio.currentTime); } timeout = setInterval(updateProgress, 300); }); }else{ for (var i = 0; i < musicArr.length; i++){ var item = musicArr[i];var anum = i+1; if(anum<10){anum='0'+anum;} var geshou=""; if(item.artist){ geshou= ' - '+item.artist+''; } element.innerHTML=element.innerHTML+'
  • '+anum+'.'+item.title+''+geshou+'
  • '; if (item.mp3 == "") { document.querySelectorAll("#playlist li")[i].style.color='#ddd'; } } var playlistli=document.querySelectorAll("#playlist li"); playlistli.forEach((value, index) => { playlistli[index].classList.remove("yd-playing"); playlistli[index].onclick=function(){ next(index);//使用next函数进行点播 }; }); playlistli[a].classList.add("yd-playing"); yoduplayer(); }} function yoduplayer(){//初始化音乐播放器 var ody=document.getElementById('ydmc'); var geshou=''; if (yaudio.paused) {var autopause=0; ody.innerHTML= ''; document.getElementById("ydfm").classList.add("paused"); } else {var autopause=1; ody.innerHTML = ''; document.getElementById("ydfm").classList.remove("paused"); } if(yaudio.art.length>0){geshou=' - '+yaudio.art;} document.getElementById('ydtitle').innerHTML = yaudio.ti+geshou; document.getElementById("ydfm").src=yaudio.fm; var setProgress = function(value){ var currentSec = parseInt(value%60) < 10 ? '0' + parseInt(value%60) : parseInt(value%60), ratio = value / yaudio.duration * 100; document.getElementById('jindu').style.width=ratio+'%'; document.getElementById('ytime').innerHTML = (parseInt(value/60)+':'+currentSec); } var updateProgress = function(){ setProgress(yaudio.currentTime); } timeout = setInterval(updateProgress, 300); } playlist();