日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

HTML5+JS实现简易的音乐播放器

發布時間:2024/1/1 HTML 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTML5+JS实现简易的音乐播放器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTML5+JS實現簡易的音樂播放器

播放器實現的功能

  • 播放/暫停音樂
  • 切換歌曲,上/下一首歌
  • 音量最大或靜音
  • 音樂播放時間實時變化
  • 進度條拖拽
  • 歌曲圖片切換
  • 播放器效果展示



    代碼展示

    html

    <div class="musicBox" id="musicBox"><audio src="music/趙季平-門樓.mp3" id="music">當前瀏覽器不支持audio</audio><div class="leftControl"></div><div id="mainControl" class="mainControl"></div><div id="stopControl" class="stopControl" style="display:none"></div><div class="rightControl"></div><div class="processControl" ><div id="songName" class="songName">趙季平-門樓</div><div id="songTime" class="songTime">00:00&nbsp;|&nbsp;00:00</div><div id="process" style="width:500px" class="process"></div><div id="processYet" class="processYet"></div></div><div class="voiceEmp"></div><div id="voidProcess" class="voidProcess" style="width:66px"></div><div class="voidProcessYet" id="voidProcessYet"></div><div class="voiceFull"></div> </div> <div class="list"><!-- 插圖 --><img src="images/1.png" width="300px" id="pictures" ><!-- 歌單 --><ul id="songList"></ul> </div>

    CSS樣式

    .musicBox {font: 9px 'Lucida Sans Unicode', 'Trebuchet MS', Arial, Helvetica;background-color: #595959;/*設置邊框的弧度值,為3px*/-moz-border-radius: 3px;-webkit-border-radius: 3px;border-radius: 3px;/*陰影*/text-shadow: 0 1px 0 rgba(255,255,255,0.5);-webkit-box-shadow: 10px 10px 25px #ccc;-moz-box-shadow: 10px 10px 25px #ccc;box-shadow: 10px 10px 25px #ccc;/*透明度*/opacity: 0.9;/*基本性質*/padding: 2px 5px;position: absolute;z-index: 9;border-width: 1px;border-style: solid;border-color: #488BF0;width: 775px;height: 50px;border-radius: 10px; }.leftControl {width: 0px;padding: 10px 10px 10px 10px;float: left;height: 20px;background: url(../images/sk-dark.png) left 2px no-repeat;margin-right: 8px;margin-left: 10px; }.leftControl:hover {background: url(../images/sk-dark.png) left -30px no-repeat; }.mainControl {width: 25px;padding: 10px 15px 5px 10px;float: left;height: 20px;background: url(../images/sk-dark.png) -80px -130px no-repeat; }.mainControl:hover {background: url(../images/sk-dark.png) -80px -166px no-repeat; }.rightControl {width: 0px;padding: 10px 10px 10px 10px;float: left;height: 20px;background: url(../images/sk-dark.png) left -62px no-repeat;margin-right: 8px; }.rightControl:hover {background: url(../images/sk-dark.png) left -93px no-repeat; }.processControl {width: 500px;padding: 5px 10px 10px 10px;float: left;height: 20px;margin-right: 12px;color: #ffffff; }.processControl .songName {float: left; }.processControl .songTime {float: right; }.processControl .process {width: 500px;float: left;height: 2px;cursor: pointer;background-color: #000000;margin-top: 7px; }.processControl .processYet {width: 0px;position: absolute;height: 2px;left: 131px;top: 30px;cursor: pointer;background-color: #00aaff; }.voiceEmp {width: 0px;padding: 10px 10px 10px 10px;float: left;height: 17px;background: url(../images/sk-dark.png) -28px -180px no-repeat;margin-right: 2px; }.voiceEmp:hover {background: url(../images/sk-dark.png) -28px -212px no-repeat; }.voidProcess {width: 66px;height: 2px;cursor: pointer;background-color: #000;float: left;margin-top: 19px;margin-right: 6px; }.voidProcessYet {width: 66px;position: absolute;height: 2px;left: 675px;top: 21px;cursor: pointer;background-color: #7A8093; }.voiceFull {width: 0px;padding: 10px 10px 10px 10px;float: left;height: 17px;background: url(../images/sk-dark.png) -28px -116px no-repeat; }.voiceFull:hover {background: url(../images/sk-dark.png) -28px -148px no-repeat; }.stopControl {width: 14px;padding: 10px 10px 5px 10px;float: left;height: 20px;background: url(../images/sk-dark.png) -50px -130px no-repeat;margin-right: 16px; }.stopControl:hover {background: url(../images/sk-dark.png) -50px -165px no-repeat; }.list{width: 700px;height: 500px;background-color: #ffd47d;padding-top: 70px;margin-left: 20px; } #songList{font-size: 18px;font-weight: bold;color: #FFFFFF; } #songList li{margin-top: 5px; } #songList li:hover{color: #aa00ff; }

    JS

    // 獲取音頻元素 let music if(window.HTMLAudioElement){music = document.querySelector('#music');// 播放按鈕 } // 播放按鈕 let mainControl = document.querySelector("#mainControl"); // 暫停 let stopControl = document.querySelector("#stopControl"); // 快退,快進, let leftControl = document.querySelector(".leftControl"); let rightControl = document.querySelector(".rightControl"); // 音量調節 let voiceEmp = document.querySelector('.voiceEmp'); let voiceFull = document.querySelector('.voiceFull');let songName = document.querySelector("#songName"); let process = document.querySelector("#process"); let pictures = document.querySelector("#pictures"); let songList = document.getElementById("songList");mainControl.addEventListener('click',function(){// 播放音樂music.play();mainControl.style.display='none';stopControl.style.display='';timeSpan(); })stopControl.addEventListener('click',function(){// 暫停音樂music.pause();mainControl.style.display='';stopControl.style.display='none'; }) // 播放時間前進或后退 // leftControl.addEventListener('click',function(){ // // console.log(music.currentTime); // music.currentTime -= 1.0; // // console.log(music.currentTime); // })// rightControl.addEventListener('click',function(){ // // console.log(music.currentTime); // music.currentTime += 1.0; // // console.log(music.currentTime); // })voiceEmp.addEventListener('click',function(){music.volume = 0; })voiceFull.addEventListener('click',function(){music.volume = 1; })// 格式化時間 function timeDispose(time){let minutes = parseInt(time/60);let seconds = parseInt(time%60);minutes = minutes>10?minutes:"0"+minutes;seconds = seconds>10?seconds:'0'+seconds;return minutes+':'+seconds; } // 展示時間 function timeSpan(){setInterval(function(){let songTime = document.querySelector("#songTime");let currenttime = music.currentTime;let totaltime = music.duration;songTime.innerHTML = timeDispose(currenttime)+"|"+timeDispose(totaltime);let processLenth =(currenttime/totaltime)*getWidth("#process");document.querySelector('#processYet').style.width = processLenth+'px';},1000);}// 獲取長度 function getWidth(domId){let dom = document.querySelector(domId);let domLenth = dom.style.width;let domLenthInt = domLenth.split('px')[0];return domLenthInt; }// 切歌 let songs = [{mp3:'music/趙季平-門樓.mp3',name:'趙季平-門樓',tu:'images/1.png',},{mp3:'music/露露娜Ruruna - 夏 日 蒸 汽 波Say So(Japanese_Ver).mp3',name:'夏日蒸汽波SaySo',tu:'images/2.png',},{mp3:'music/趴熊 - スパイス(香辛料)(Cover 東京カランコロン).mp3',name:'香辛料(Cover 東京カランコロン)',tu:'images/3.png',},{mp3:'music/神前暁 (こうさき さとる) - いつもの風景から始まる物語 (從老風景開始的故事).mp3',name:'從老風景開始的故事',tu:'images/10.png',},{mp3:"music/Tenkitsune - Yoshi's New Story.mp3",name:"Yoshi's New Story",tu:'images/5.png',}, ]// 將歌名顯示到列表上 for (var i =0; i < songs.length; i++) {songList.innerHTML += '<li>' + songs[i].name + '</li>'; }//切歌函數 let changeMusic=function (index) {//換歌曲music.src=songs[index].mp3;//換名稱songName.innerHTML=songs[index].name;pictures.src=songs[index].tu; }; let index=0;//當前播放歌曲索引 //切歌 leftControl.addEventListener("click",function (event) {index--;if(index<=-1){index=songs.length-1;}changeMusic(index); }); rightControl.addEventListener("click",function (event) {index++;if(index>songs.length-1){index=0;}changeMusic(index); }); // 播放完畢,自動下一首music.addEventListener("ended",function(){rightControl.click();}); process.addEventListener("click",function (event) {let x=event.offsetX;//獲取鼠標所在位置let bfb=x/610*100;processYet.style.width=bfb+"%";music.currentTime=music.duration*+bfb/100; });

    總結

    以上是生活随笔為你收集整理的HTML5+JS实现简易的音乐播放器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产五月天婷婷 | 岛国精品一区二区 | 人妻少妇一区 | 欧美亚洲视频在线观看 | 亚洲v日韩v综合v精品v | 国产少女免费观看高清 | 香蕉国产在线 | 成人乱人乱一区二区三区一级视频 | 久久久999国产精品 天堂av中文在线 | 妖精视频在线观看 | 精品久久蜜桃 | 亚洲精品国产精品乱码不99按摩 | а√天堂资源在线 | 操女网站| 天天操天天操天天操天天操 | 女人18毛片水真多18精品 | 天天干女人 | 1769国产精品 | 国产精品中文无码 | 熟妇女人妻丰满少妇中文字幕 | 天天色天天插 | 国产精品无码一区二区三 | 国产在线第一页 | 综合激情av| 黄色www | gai免费观看网站外网 | 久久久久久久中文字幕 | 伊人久久大香网 | 亚洲影视在线观看 | 天堂网在线视频 | 国产99久一区二区三区a片 | 久久中文字幕国产 | 久久激情av| 少妇极品熟妇人妻无码 | 国产一级爱c视频 | 中文字幕av一区二区 | 91精品久久香蕉国产线看观看 | 秋霞一级全黄大片 | 五月天国产视频 | 欧美黄色大片视频 | 久久久久久国产精品三区 | 国产色一区二区 | 久久久久久国产精品三级玉女聊斋 | 高潮无码精品色欲av午夜福利 | www.色婷婷 | 欧美日韩一区二区电影 | 国产免费a视频 | 日本三级不卡 | 日本高清网色 | 三级自拍| 欧美射射 | 色综合久久久无码中文字幕波多 | 69视频入口 | 国产麻豆剧传媒精品国产 | 性的免费视频 | a天堂中文字幕 | h片免费在线观看 | 95精品视频| 亚洲综合狠狠 | 日本做受 | 国产精品午夜福利 | 美女福利一区 | 全国男人的天堂网 | 国产视频1 | 日本肉体xxxⅹ裸体交 | 麻豆视频在线观看 | 呦女精品| 亚洲精品一二三 | 国产强伦人妻毛片 | 麻豆国产av超爽剧情系列 | 好吊色网站| 国产白丝一区二区三区 | 182av| 吊侵犯の奶水授乳羞羞漫画 | 大尺度av | 欧美1区| 秋霞视频一区二区 | 毛片基地视频 | 亚洲最大在线观看 | 中文在线不卡视频 | 亚洲福利视频一区 | 国产精品自拍偷拍 | 实拍女处破www免费看 | 黄色网址哪里有 | 色羞羞| 久啪视频| 国产精品一区二区三区四 | 亚洲综合免费视频 | 日韩av网页 | 超色视频 | 麻豆精品久久久久久久99蜜桃 | 男人插入女人下面视频 | 国产另类视频 | 国产一区91精品张津瑜 | 成人av无码一区二区三区 | 91极品视觉盛宴 | 久久免费视频一区 | 国产永久免费 | 18黄暴禁片在线观看 |