JavaScript实现音乐自动切换和轮播
程序员文章站
2022-04-28 23:25:37
前言:前两天有个同学问我音乐自动切换,并在所有歌曲都播放完成以后实现循环播放的效果。自己折腾了一下做了出来,今天整理桌面的时候突然看见,在拖到回收站的一瞬间想着还是写一篇博...
前言:前两天有个同学问我音乐自动切换,并在所有歌曲都播放完成以后实现循环播放的效果。自己折腾了一下做了出来,今天整理桌面的时候突然看见,在拖到回收站的一瞬间想着还是写一篇博客分享一下。实现的方法有很多种,我这里简单的实现。
通过修改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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。