时间:2021-05-26
前言:前两天有个同学问我音乐自动切换,并在所有歌曲都播放完成以后实现循环播放的效果。自己折腾了一下做了出来,今天整理桌面的时候突然看见,在拖到回收站的一瞬间想着还是写一篇博客分享一下。实现的方法有很多种,我这里简单的实现。
通过修改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>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了JavaScript实现图片轮播组件,废话不多说了直接看下面:效果:自动循环播放图片,下方有按钮可以切换到对应图片。添加一个动画来实现图片切换。鼠标停
我之前写过一个简易版的自动+手动轮播图:简易轮播图但是这个轮播图在切换的时候是没有实现无缝滚动的,每张图片都是单张切换的,而不是滑动。现在用JQuery实现无缝
1.闪现方式的轮播不论述,实现比较简单,效果也比较好2.滑动轮播以下面的html代码为例(向左滑动)插件源码:实现向左和向上轮播,手动切换也是向左和向上切换(手
本文实例讲述了js支持键盘控制的左右切换立体式图片轮播效果。分享给大家供大家参考。具体如下:这是一款基于javascript实现支持键盘控制的左右切换立体式图片
1.输入控件的自动聚焦和可用键盘切换输入焦点使用JavaScript实现页面加载完成后立即自动聚焦(focus)到第一个输入控件。可用TAB键(IE缺省实现)或