html实现歌曲在线播放,前端小白之用html+css+javascript实现音乐播放

d07d18647d50?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

效果图

1.css3所用到知识

box-size:当设置边框后如果宽度增大  则可设置border-size属性即可自适应

background-size:即为设置了背景图片后对图片大小切割的新属性

cover:即为将图片以左上角为起点  选择不拉伸的方式部分填充当前盒子的大小

contain:即为以图片最上面一边 选择拉伸的方式将整个图片填充盒子的大小

100% 100%:即以图片左上角和右下角对整个图片进行拉伸 使整个图片填充盒子的大小

animation:动画属性  使用格式:名称   做一圈时间   匀速运动(leader) 循环播放infinite

d07d18647d50?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2.所有到的html5的知识点

audio标签:音频标签

d07d18647d50?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

3.原生js知识点

对于audio标签当按钮被触发时 可使用play()方法

判断第一次点击跟第二次点击按钮的状态  可定义onOff=true;

当第一次点击(true)时播放音乐  第二次点击(false)时暂停音乐

d07d18647d50?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

分割歌词与歌词时间 用split()方法进行多次分割 注意:为了防止有空的字符串 所以必须做一个判断判断是否有  可选择if()的默认判断  在if语句里给每一句歌词添加p标签 并将分割出来的时间赋给每一句歌词的id

d07d18647d50?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

监听音频播放进度事件 音频.addEventListener("timeupdate",function(){});

在回调函数里获取当前播放的时间this.currentTime 并将其转换为整数Parseint

用if语句判断以当前的时间为id是否存在 存在的话 将与之对应的p标签添加属性(在此之前先清空属性)

为了歌词的可视区域 可当aP[n+11].id==cur时内容盒子上移  判断是为了防止监听时重复出现的时间

当aP[0].id==0时 n++ 第二次aP[1]!=0盒子不会上移  上移时top值必须累加*10

d07d18647d50?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

最后监听歌曲是否结束事件  结束时不再转动  内容高度top等于0 onOff=true  当前播放进度为0;

d07d18647d50?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值