JavaScript實現(xiàn)音樂自動切換和輪播
更新時間:2017年11月05日 15:12:21 作者:輸出是最好的學(xué)習(xí)
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)音樂自動切換和輪播效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
前言:前兩天有個同學(xué)問我音樂自動切換,并在所有歌曲都播放完成以后實現(xiàn)循環(huán)播放的效果。自己折騰了一下做了出來,今天整理桌面的時候突然看見,在拖到回收站的一瞬間想著還是寫一篇博客分享一下。實現(xiàn)的方法有很多種,我這里簡單的實現(xiàn)。
通過修改video的src(這種應(yīng)該是最好節(jié)省資源的)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>welcome</title>
<style type="text/css">
.content {
width: 600px;
margin:0 auto;
border:1px solid red;
}
.left-bar {
width: 300px;
height: 200px;
float: left;
border:1px solid red;
}
ul li {
list-style: none;
margin-top: 20px;
cursor: pointer;
}
li:hover {
color: orange;
}
</style>
</head>
<body>
<div class="left-bar">
<ul>
<li class="music-name">十年</li>
<li class="music-name">朋友</li>
<li class="music-name">勇氣</li>
</ul>
</div>
<div class="content">
<video src="" id="video1" controls autoplay></video>
<button id="btn">按鈕</button>
</div>
<script>
window.onload = function() {
// 歌曲列表
var music = [
{id: 1, name:"十年"},
{id: 2, name:"朋友"},
{id: 3, name:"勇氣"}
]
// 記錄當(dāng)前是哪首歌曲
var currentMusic = 0;
// 獲取DOM
var oVideo1 = document.querySelector("#video1");
// 初始化
oVideo1.src = music[0].name + '.mp3';
// 歌曲結(jié)束事件
oVideo1.onended = function() {
currentMusic += 1;
// 判斷是否是最后一首
if(currentMusic === music.length) {
currentMusic = 0;
}
var sr = music[currentMusic].name + '.mp3';
this.src=sr;
}
// 獲取左邊歌曲列表的DOM
var aList = document.getElementsByClassName("music-name");
for(var i=0; i<aList.length; i++) {
// 為了知道具體是那一個li
aList[i].index = i;
// 給每一個li設(shè)定一個事件
aList[i].onclick = function() {
oVideo1.src = music[this.index].name + ".mp3";
}
}
}
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
prototype與jquery下Ajax實現(xiàn)的差別
Ajax技術(shù)在web中應(yīng)用的相當(dāng)廣泛,最近項目需要用到Ajax,由于主站所用的是Jquey,而某個欄目的開發(fā)用的是prototype,這樣一來就必須對JS代碼做調(diào)整了。2009-09-09
一文詳解JavaScript中的事件循環(huán)(event?loop)機制
JavaScript中的事件循環(huán)(Event?Loop)是一種重要的機制,用于管理異步代碼的執(zhí)行,它確保?JavaScript?單線程環(huán)境中的任務(wù)按照正確的順序執(zhí)行,同時允許異步操作如定時器、網(wǎng)絡(luò)請求和事件處理,本將給大家詳細的介紹一下JavaScript事件循環(huán)機制,感興趣的朋友可以參考下2023-12-12

