HTML+CSS+JAVASCRIPT 高仿低配网页版网易云音乐播放器

HTML+CSS+JAVASCRIPT 高仿低配网页版网易云音乐播放器

app-poster

前言

没有使用任何框架,只是想用最简单纯js的代码实现下

写在前头的话

鄙人野生前端一只,gis专业,自学前端已经一年多了,为什么要写个音乐播放器呢?原因有两个:

  1. 本人是网易云音乐的重度用户,近乎疯狂
  2. 自学了前端这么久了,也是想检验下自己的成果吧

本播放器要干什么呢

  1. 简单的 播放 暂停 那当然不能少
  2. 切换歌曲,上一首下一首 也得有
  3. 进度条 ,这个有点复杂,本来想用 input[range] 写,但是样式不好改,自己用多个div代替吧
  4. 进度条都有了,音量调节 不能少吧,毕竟他俩UI样式差不多,照猫画虎呗
  5. 再加一个 静音功能 ,省的音乐太大声,邻居找茬哦(⊙o⊙)

本播放器还能干什么呢

  1. 歌词滚动 有木有
  2. 搜索单曲
  3. 指定歌单播放 这个需要知道歌单的 id 不是很好找,(得上网易云音乐官网登录自己的账号,找到歌单,点进去,抬头看URL 里最后的 id 参数)暂时用的是“我喜欢的音乐”(歌单)的id

music-like

那闲话不多说,开整吧(原谅一个理科生的表达能力)

我模仿的是网易云音乐的PC端,所用到的技术都是前端的基本技术 HTML、CSS、JAVASCRIPT
由于我是自学的,没有那么多规矩,我这个人看到是我感兴趣的,我立马就会去做,这个播放器也不例外。

首先先的将它“画”出来(HTML+CSS)

我仔细看了下网易云音乐PC端的布局,大致分为四部分,四个模块

  1. 顶部菜单(顶部导航,叫什么名无所谓了)
  2. 底部播放条 这是播放器的核心
  3. 主体内容在右边 歌单的详细信息和歌曲列表
  4. 左侧是导航和歌单组
  5. 左下角还有一个小窗,显示正在播放歌曲的简要信息,点击小窗 展开一个歌曲详情页

无图不真相
pc-music
pc-music

然后呢,写页面逻辑JavaScript

播放器

  1. 播放器的控制按钮

播放(暂停)按钮,这个可以通过 play() pause()方法实现

  1. 进度条

这个通过监听timeupdate事件,实施更新当前播放位置,
通过监听鼠标移动事件,改变进度条的长度

  1. 静音按钮,可以通过audio.muted=true实现

初始化歌单列表

网易云音乐获取歌单的API
http://music.163.com/api/play...[id]

id 歌单id

因为涉及到跨域问题。暂时我前台这边又没有办法跨域,所以参考了网上的代码,写个PHP做代理 (2018-09-14更新:现在代码已改为Nodejs做代理服务),这样就不存在跨域问题了。
获取到歌单数据后,重新渲染下DOM

搜索歌曲

网易云音乐获取歌曲的API
http://s.music.163.com/search...[songname]&type=1&limit=10

s           搜索内容
type        搜索类型
limit       搜索返回结果数

歌曲详情页

主要是歌词和歌词滚动

网易云音乐获取歌词API
http://music.163.com/api/song...[id]

id 歌曲id

歌词滚动,先把获取到的歌词数据分割成时间点和歌词两部分,将这两部分存入dataset中,
通过监听timeupdate事件,判断和当前播放时间相近的歌词,记录它的getBoundingClient()的top值,将滚动条设置到指定位置 例如:ele.srcollTop=100;

先写到这里吧

总结能力太差了,原谅理科生的无奈

附录

完整源码,点击查看
后台代码,点击查看

此文源自我的博客

大佬,给个start呗^_^

  • 13
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
<h3>回答1:</h3><br/>HTMLCSSJavaScript 是网页制作的三大基础技术,它们分别负责网页的结构、样式和交互。以下是一个简单的网页制作案例教程: 1. 创建 HTML 文件,定义网页的基本结构,包括头部、主体和底部。 2. 在头部中添加 CSS 样式表,定义网页的样式,包括字体、颜色、布局等。 3. 在主体中添加 HTML 元素,包括标题、段落、图片、链接等。 4. 在 CSS 样式表中定义这些元素的样式,如字体大小、颜色、边框等。 5. 使用 JavaScript 添加交互功能,如按钮点击事件、表单验证等。 6. 最后,测试网页在不同浏览器和设备上的兼容性,进行调试和优化。 以上是一个简单的网页制作案例教程,希望对您有所帮助。 <h3>回答2:</h3><br/>网页制作是一门需要掌握多种技术的艺术。其中,HTMLCSSJavaScript是非常重要的三种语言。HTML可以创建网页的结构和内容,CSS可以为网页添加样式和布局,JavaScript可以为网页添加动态效果和交互功能。一般来说,学习这三种语言要分三个阶段进行。 首先是HTMLHTML是网页设计的基础,它定义了网页的结构和内容。在学习HTML时,要了解HTML的标签和属性,以及如何使用它们创建网页。可以通过学习HTML教程和实践案例来掌握这些知识。例如,创建一个简单的网页,并使用HTML标签创建页面标题、段落、图片和链接等元素。 接下来是CSSCSS可以为网页添加样式和布局。学习CSS需要了解各种样式和属性,以及如何将它们应用到网页上。同样,通过学习CSS教程和实践案例来掌握这些知识。例如,创建一个基本的样式表,并使用CSS定义网页元素的颜色、字体、大小和布局等属性。 最后是JavaScriptJavaScript可以为网页添加动态效果和交互功能。学习JavaScript需要了解基本的语法和DOM操作,以及如何编写JavaScript函数和事件处理程序。同样,通过学习JavaScript教程和实践案例来掌握这些知识。例如,创建一个JavaScript函数,响应鼠标事件并显示网页上的动态效果。 总之,在学习网页制作的过程中,需要不断学习和实践,掌握HTMLCSSJavaScript的基本知识和技能。通过学习案例教程,可以更加深入地了解网页制作的整个过程,从而提升自己的网页制作能力。 <h3>回答3:</h3><br/>HTMLCSSJavaScript是网页制作的三大基本技术,它们可以帮助我们构建出丰富多彩、交互性强的网页。在学习这些技术时,我们可以结合案例教程来学习,这样可以更加深入地理解这些技术的应用。 一、HTML案例教程 HTML是网页制作的基础,我们可以用HTML来定义网页的结构和内容。在实际的制作过程中,我们可以通过案例教程来学习如何使用HTML来构建网页。 例如,我们可以学习如何创建一个基本的网页结构,如何使用HTML标签来设置网页的标题、段落、列表等内容。还可以学习如何使用表格、表单等元素来展示和收集数据。 二、CSS案例教程 CSS是用于网页样式的技术,它可以帮助我们美化网页、让网页看起来更加美观。在学习CSS时,我们可以通过案例教程来掌握如何使用CSS来定义网页的样式。 例如,我们可以学习如何使用CSS选择器来选中网页中的元素,并设置它们的颜色、字体、大小等样式。还可以学习如何使用CSS布局来实现复杂的网页布局效果。 三、JavaScript案例教程 JavaScript是用于网页交互的技术,它可以帮助我们实现网页上的交互效果和动态效果。在学习JavaScript时,我们可以通过案例教程来学习如何使用JavaScript来实现这些效果。 例如,我们可以学习如何使用JavaScript来改变网页中元素的内容、样式、位置等,并实现动态效果。还可以学习如何使用JavaScript来处理网页中的用户输入、发送网络请求等操作。 总结: 通过学习以上三大网页制作技术的案例教程,我们可以深入了解它们的应用和相互关系,从而更快地掌握这些技术。同时,在实际的网页制作过程中,也可以用这些案例作为参考,来帮助我们更快地实现网页的设计和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值