本文介绍如何使用JavaScript实现音乐自动切换和轮播功能。通过修改video元素的src属性,可以实现音乐的自动播放和循环播放效果。文章提供了简单的实现方法,希望对读者有所帮助。
JavaScript实现音乐自动切换和轮播
引言:日前有同学咨询如何实现音乐自动切换,并在全部歌曲播放完毕后进入循环播放模式。经尝试实现后,整理桌面时决定撰写博客分享。此功能存在多种实现路径,此处提供一种简易方案。
通过更改video元素的src属性(此法通常最为节省资源)
<!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:"勇气"}
]
// 记录当前是哪首歌曲
var currentMusic = 0;
// 获取DOM
var oVideo1 = document.querySelector("#video1");
// 初始化
oVideo1.src = music[0].name + '.mp3';
// 歌曲结束事件
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设定一个事件
aList[i].onclick = function() {
oVideo1.src = music[this.index].name + ".mp3";
}
}
}
</script>
</body>
</html>
上述即为本文全部内容,期望对各位的学习有所助益,同时也恳请各位多多支持本站。