新年到,一起听听这些新年歌曲

简介: 每年过年,不管是大街小巷还是春晚的舞台上,歌曲都是必不可少的,热热闹闹才是年嘛,那今天跟着我一起来用我这个半吊子前端水平开发的简易的手机音乐盒听听那些新年歌曲吧,我是90后所以歌都比较的老,但是越老的歌越有味道嘛,来吧看看这个简易手机音乐盒是怎么实现的。

微信截图_20220531144401.png

每年过年,不管是大街小巷还是春晚的舞台上,歌曲都是必不可少的,热热闹闹才是年嘛,那今天跟着我一起来用我这个半吊子前端水平开发的简易的手机音乐盒听听那些新年歌曲吧,我是90后所以歌都比较的老,但是越老的歌越有味道嘛,来吧看看这个简易手机音乐盒是怎么实现的。


一.整体效果图微信截图_20220531144428.png


二.实现思路 既然是音乐盒,那当然是播放音乐了,所以得使用音频标签audio,对于图片和css样式层可以采用点击事件触发音乐播放,然后就是得有一个能控制所有播放音乐的总开关,防止全部音乐一起播放。


三.实现分解


1.书签页样式,使用article标签实现,看起来还不错微信截图_20220531144501.png

2.音乐的播放与暂停,页面上一共有五个播放音乐的地方,最上面两个是使用的音频标签audio,所以自带的播放和暂停功能,剩下三个都是自定义的点击播放事件

1)音频标签audio实现

<audio id="music_1"  src="music/陈红%20-%20常回家看看hires.flac" controls style="width: 200px;"></audio>
复制代码

2)自定义实现,给css或者image添加点击事件,单击就是播放,双击就是暂停

$(document).on('click',".ai-fire",function (e){
   play();
});
   // 检查是否正在播放
   var isPlaying = false;
   function play() {
      var player = document.querySelector('#fire');
      if (isPlaying) {
         // 如果正在播放, 停止播放并停止读取此音乐文件
         player.pause();
         player.src = '';
      } else {
         player.src = 'music/费翔%20-%20冬天里的一把火.mp3';
         player.play();
      }
   }
复制代码

3.页面上一共五个播放音乐的地方,会出现一起播放的情况,那就是大杂烩了,所以得用如下方法防止这种事件触发

// dom操作获取所有的audio标签
var audios = document.getElementsByTagName("audio");
// 暂停函数
function pauseAll() {
   var self = this;
   //循环 如果有一个正在使用就暂停其他的
   [].forEach.call(audios, function(i) {
      i !== self && i.pause();
   })
}
// 给play事件绑定暂停函数
[].forEach.call(audios, function(i) {
   i.addEventListener("play", pauseAll.bind(i));
})
复制代码


后话


音乐使人充满活力,让人快乐,愿大家在新的一年里天天开心,快乐。

目录
相关文章
|
存储 监控 测试技术
【游戏】服务器性能测试(三) 性能指标
一、引言 在做游戏服务器性能测试的时候,我们需要通过一些指标来判断服务端是否存在性能问题,由于绝大多数的服务端都是架设在Linux服务器上,因此本篇是以Linux系统为前提,简单介绍常用的性能指标。 二、服务器指标 现如今的游戏服务器一般为分布式架构如图1。一个区的服务端由多个节点组成,通过这些节点来完成复杂的业务功能交互以及扩大人数承载。并不是每个节点都会占用一台物理机,通常是一个区的节点都放在一台物理机上(多区公用的除外)。这样每个节点进程就不能完全独占CPU,内存,网络等资源。而进行服务器性能测试也就是确保这些节点能够在一台机器上满足预定的设计要求。
2072 0
【游戏】服务器性能测试(三) 性能指标
|
2月前
|
人工智能 JSON 安全
[理论篇-8]MCP协议详解
用最直白的话讲清楚 MCP 是什么、为什么 2025 年它突然成为 AI 行业最热的协议、以及它会怎么改变你和 AI 工具的相处方式——不管你是开发者、产品经理、还是只想用好 AI 的普通用户。
525 1
|
人工智能 自然语言处理 数据处理
还在手动验证文献引用?ScholarCopilot:开源AI学术写作工具,生成时实时插入文献引用
基于 Qwen-2.5-7B 模型的 ScholarCopilot 通过动态检索标记和联合优化技术,实现学术文本生成与文献引用的精准匹配,在 50 万篇论文库中实现 40.1% 的检索准确率,生成文本的学术严谨性评分达 16.2/25。
2094 5
还在手动验证文献引用?ScholarCopilot:开源AI学术写作工具,生成时实时插入文献引用
|
存储 缓存 UED
【已解决】任务栏图标显示异常问题
【已解决】任务栏图标显示异常问题
在Linux中,如何查看和修改网络接口配置?
在Linux中,如何查看和修改网络接口配置?
|
小程序 JavaScript Java
人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)
人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)
758 1
|
JSON 数据格式 C++
C++ JSON库 nlohmann::basic_json::accept的用法
C++ JSON库 nlohmann::basic_json::accept的用法
494 1
|
安全 Apache 数据库
如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问
如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问
519 0
|
机器学习/深度学习 人工智能 算法
阿里妈妈品牌字“数智体”正式发布
全新AI字体来袭!去年8月,阿里妈妈启动“智造字”自研品牌字体项目,并率先发布首款字体阿里妈妈“数黑体”,以应对市场上营销字体不足的现状。“数黑体”一经发布,便得到众多品牌商家的授权需求和使用好评。1月14日,阿里妈妈再次发布两款全新的智造字——“数智体”和“东方大楷”。可变“数智体”具备轻盈科技感和可变适用性,带来高度友好用户体验的同时,利于提升阿里妈妈品牌专业感;“东方大楷”则以算法结合人力,
4415 0
阿里妈妈品牌字“数智体”正式发布
|
消息中间件 Docker 容器
CentOS8安装RabbitMQ
CentOS8安装RabbitMQ
1235 0
CentOS8安装RabbitMQ