时间:2021-07-01 10:21:17 帮助过:12人阅读
整了一下 之前写了好几次每一次都丢三落四的 今天花了半天理了下思路 整理了下头绪
//获取歌词文本 var txt = document.getElementById("lrc"); var lrc = txt.value;//获取文本域里的值 /*console.log(lrc);*/ var lrcArr = lrc.split("[");//去除[ /*console.log(lrcArr);*/ var html = "";//定义一个空变量保存文本 for(var i=0 ; i<lrcArr.length ; i++) { var arr = lrcArr[i].split("]"); /*console.log(arr[1]);*/ var allTime = arr[0].split("."); var time = allTime[0].split(":"); //获取分钟 秒钟 把时间换算成秒钟 var timer = time[0]*60 + time[1]*1; var text = arr[1]; if(text) { html += "<p id="+timer+">"+text+"</p>" } con.innerHTML = html <pre class="html" name="code">}</pre> <pre></pre> <p></p> <p>实现歌词同步首先要获取到文本框 再配合H5中新增的属性如图 其实很简单啦!</p> <p></p> <p><pre class="html" name="code"> //监听音乐播发进度实现歌词同步 myMusic.addEventListener("timeupdate",function(){ //获取当前播放时间 var curTime = parseInt(this.currentTime); if(document.getElementById(curTime)) { for(var i=0 ; i<oP.length ; i++) { oP[i].style.cssText = "color:#ccc;font-size:12px;"; } document.getElementById(curTime).style.cssText="color:rgb(242,110,111);font-size:18px;"; if (oP[num+7].id == curTime)//判断成功一次num++ { con.style.top = -20*num +"px"; num++; } } });</pre></p> <pre></pre>
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在vue中如何实现页面加载进度条组件
在JS中Map和ForEach的区别有哪些?
使用axios封装fetch方法和调用
以上就是原生JS如何实现音乐播放器的详细内容,更多请关注Gxl网其它相关文章!