目录

??.自定义播放器

??.图片自动消失

.小轮播图

??.旋转音乐盒


前言:这些小项目全都是自创的

如果需要应用,或则转发的话请与

博主联系,感谢你们的理解,


1.自定义播放器

在页面中放置26个div,每个div中写一个字

母。html结构中引入8个音频结构。给每个

div绑定点击键盘事件。根据键盘的每个

keyCode的不同来动态绑定对应的音频文件。

当按下对应的键盘字母,增添css样式,

音频播放。放开时,存储点击的事件,

将对应的音频存储在一个数组中。

点击按钮,循环播放存储的音频数组


html:

 <div id="container">   <div data-key="81" class="key"><kbd>Q</kbd><span class="sound">clap</span></div><div data-key="87" class="key"><kbd>W</kbd><span class="sound">clap</span></div><div data-key="69" class="key"><kbd>E</kbd><span class="sound">clap</span></div><div data-key="82" class="key"><kbd>R</kbd><span class="sound">clap</span></div><div data-key="84" class="key"><kbd>T</kbd><span class="sound">clap</span></div><div data-key="89" class="key"><kbd>Y</kbd><span class="sound">clap</span></div><div data-key="85" class="key"><kbd>U</kbd><span class="sound">clap</span></div><div data-key="73" class="key"><kbd>I</kbd><span class="sound">clap</span></div><div data-key="79" class="key"><kbd>O</kbd><span class="sound">clap</span></div><div data-key="80" class="key"><kbd>P</kbd><span class="sound">clap</span></div><div data-key="65" class="key"><kbd>A</kbd><span class="sound">clap</span></div><div data-key="83" class="key"><kbd>S</kbd><span class="sound">clap</span></div><div data-key="68" class="key"><kbd>D</kbd><span class="sound">clap</span></div><div data-key="70" class="key"><kbd>F</kbd><span class="sound">clap</span></div><div data-key="71" class="key"><kbd>G</kbd><span class="sound">clap</span></div><div data-key="72" class="key"><kbd>H</kbd><span class="sound">clap</span></div><div data-key="74" class="key"><kbd>J</kbd><span class="sound">clap</span></div><div data-key="75" class="key"><kbd>K</kbd><span class="sound">clap</span></div><div data-key="76" class="key"><kbd>L</kbd><span class="sound">clap</span></div><div data-key="90" class="key"><kbd>Z</kbd><span class="sound">clap</span></div><div data-key="88" class="key"><kbd>X</kbd><span class="sound">clap</span></div><div data-key="67" class="key"><kbd>C</kbd><span class="sound">clap</span></div><div data-key="86" class="key"><kbd>V</kbd><span class="sound">clap</span></div><div data-key="66" class="key"><kbd>B</kbd><span class="sound">clap</span></div><div data-key="78" class="key"><kbd>N</kbd><span class="sound">clap</span></div><div data-key="77" class="key"><kbd>M</kbd><span class="sound">clap</span></div></div><div id='btn'>提交数据</div><audio data-key="81" src="sounds/clap.wav"></audio><audio data-key="87" src="sounds/hihat.wav"></audio><audio data-key="69" src="sounds/kick.wav"></audio><audio data-key="82" src="sounds/openhat.wav"></audio><audio data-key="84" src="sounds/boom.wav"></audio><audio data-key="89" src="sounds/ride.wav"></audio><audio data-key="85" src="sounds/snare.wav"></audio><audio data-key="73" src="sounds/tom.wav"></audio><audio data-key="79" src="sounds/tink.wav"></audio><audio data-key="80" src="sounds/clap.wav"></audio><audio data-key="83" src="sounds/hihat.wav"></audio><audio data-key="68" src="sounds/kick.wav"></audio><audio data-key="65" src="sounds/openhat.wav"></audio><audio data-key="71" src="sounds/boom.wav"></audio><audio data-key="72" src="sounds/ride.wav"></audio><audio data-key="74" src="sounds/snare.wav"></audio><audio data-key="75" src="sounds/tom.wav"></audio><audio data-key="76" src="sounds/tink.wav"></audio><audio data-key="70" src="sounds/clap.wav"></audio><audio data-key="90" src="sounds/hihat.wav"></audio><audio data-key="88" src="sounds/kick.wav"></audio><audio data-key="67" src="sounds/openhat.wav"></audio><audio data-key="86" src="sounds/openhat.wav"></audio><audio data-key="66" src="sounds/boom.wav"></audio><audio data-key="78" src="sounds/ride.wav"></audio><audio data-key="77" src="sounds/snare.wav"></audio>

css:

*{margin:0;padding:0;
}
.top{width:100%;height:100px;
}
.top i{font-size: 24px;
}
.top-left{width:20%;height:100%;float:left;text-align: center;line-height: 100px;position: relative;
}
.top-left .cls5{position: absolute;left:40px;
}
.top-middle{width:50%;height:100%;float:left;text-align: center;line-height: 100px;position:relative;
}
.top-middle .cls1{position: absolute;left:30px;
}
.top-middle .cls2{position: absolute;left:60px;
}
.top-middle .cls3{position: absolute;right:500px;
}
.top-middle .container{width:300px;height:40px;border:1px solid whitesmoke;border-radius: 10px;position:absolute;left:100px;top:30px;text-align: center;line-height: 40px;
}
.top-middle .container .cls4{position: absolute;left:20px;
}
.top-right{width:30%;height:100%;float:right;
}
.top-right ul{list-style: none;text-align: center;height:100px;line-height:100px ;
}
.top-right ul li{float:right;margin:0 20px 0 20px;
}.bottom{width:100%;height:100px;margin-top:710px;
}
.bottom i{font-size: 24px;
}
.bottom-left{width:20%;height:100px;line-height: 100px;float:left;text-align: center;
}
.bottom-left ul{list-style: none;
}
.bottom-left ul li{float:left;margin:0 30px 0 30px;
}.bottom-mid{width:50%;height:100px;line-height: 100px;float:left;
}
.bottom-mid ul{list-style: none;
}
.bottom-mid ul li{float:left;margin: auto 50px;
}
.bot-mid-top{width:100%;height:60px;text-align: center;line-height: 50px;
}
.bot-mid-top .clf1{margin-left:250px;
}
.bot-mid-bot{width:100%;height:40px;line-height: 40px;
}
.bot-mid-bot .item{width:80%;border:1px solid #333;border-radius: 3px;height:9px;margin-top:12px;margin-left:100px;
}
.bottom-right{width:30%;height:100px;line-height: 100px;float:left;
}
.bottom-right ul{list-style: none;
}
.bottom-right ul li{float:left;margin:0 30px 0 30px;
}
.bottom-right ul .clf2{margin-left:200px;
}

js:

let audioArr = []function removeClass(e) {let  key = document.querySelector(`div[data-key="${e.keyCode}`)let audio = document.querySelector(`audio[data-key="${e.keyCode}"]`)key.classList.remove('playing')audioArr.push(audio)
}function playAudio(e) {let  key = document.querySelector(`div[data-key="${e.keyCode}`)let audio = document.querySelector(`audio[data-key="${e.keyCode}"]`)key.classList.add('playing')//audio.currentTime = 0; // 每次播放之后都使音频播放进度归零if (!audio) return;audio.play()
}window.addEventListener('keydown', e => playAudio(e))
window.addEventListener('keyup', e => removeClass(e))const btn = document.getElementById('btn')function Play() {const self=thisconst item1=setInterval(function(){self.i++console.log(self.i)audioArr[self.i-2].play()if(self.i>audioArr.length){clearInterval(item1)}}, 200);
}let obj={i:1
}function bind(){Play.call(obj)
}
btn.addEventListener("click",bind)

2.图片自动消失

一张图片,在其右上角放置一个div

,分别得到那个元素,在div中插入数字

开启一个定时器,每隔一段时间减一。

直到为0.图片消失

<style>
.ad{width:400px;height:400px;background-image: url(img/1.jpg);position:relative;margin:200px auto;
}
#sj{display:block;width:40px;height:40px;line-height:30px;border-radius:50%;border:1px solid red;position:absolute;top:20px;right:20px;text-decoration: none;text-align: center;line-height: 40px;font-size: 20px;
}
</style>
</head>
<body><div id="gg" class="ad"><a href="" > <span id="sj">5</span></a></div>
<script>
var gg=document.getElementById("gg");
var sj=document.getElementById("sj")
var time=setInterval(function(){sj.innerHTML-=1;if(sj.innerHTML==0){gg.style.display="none";clearInterval(time);}
},1000);
</script>
</body>

yy3.小轮播图

放置三张图片,移动到那个图片,

改变他的偏移量。

*{padding:0;margin:0;}
body,html{width:100%;overflow:hidden;}
#wrap1{width:100%;position:absolute;bottom:0;left:0;text-align: center;}
#wrap1>img{width:64px;}
</style>
</head>
<body><div id="wrap1"><img src="img/1.png" /><img src="img/2.png" /><img src="img/3.png" /><img src="img/4.png" /><img src="img/5.png" /></div>
<script type="text/javascript">window.onload=function(){var r=320var imgNodes=document.querySelectorAll("#wrap1>img")document.onmousemove=function(ev){ev=ev||eventfor(var i=0;i<imgNodes.length;i++){
var a= imgNodes[i].getBoundingClientRect().top+imgNodes[i].offsetHeight/2-ev.clientY
var b= imgNodes[i].getBoundingClientRect().right+ imgNodes[i].offsetWidth/2-ev.clientXvar c=Math.sqrt(a*a+b*b)if(c>=r){c=r}imgNodes[i].style.width=128-c*0.2+'px'}}}
</script>

4.旋转音乐盒

旋转音乐盒

放置六张图片,将他们绝对定位。

根据所学css来对每一张图片进行定位

然后就是当点击哪一个图片时,播放

对应的音频音乐。

css:

*{padding:0;margin:0;
}
.cube{width:200px;height:200px;position: relative;  margin:200px auto;//使效果呈现3d效果       transform-style: preserve-3d;animation: rotate 30s infinite linear;}
@keyframes rotate{from{transform:rotateX(0deg) rotateY(0deg);}to{transform: rotateX(360deg) rotateY(360deg);}
}
html{//屏幕与我们的视距perspective: 10000px;}
.cube>div{width:200px;height:200px;position:absolute;opacity: 0.7;}
img{width:200px;height:200px;}
.box1{transform: rotateX(90deg) translateZ(100px);}
.box2{transform: rotateX(-90deg) translateZ(100px);}
.box3{transform:  rotateY(0deg) translateZ(100px);}
.box4{transform:  rotateY(180deg) translateZ(100px);}
.box5 {transform: rotateY(90deg) translateZ(100px);}
.box6  {transform: rotateY(-90deg) translateZ(100px);}
.change{transform:  translateZ(50px);
}
</style>

html:

<div class="cube"><div class="box1" data-key="1"><img src="./img/imgs/1.jpg"></div><div class="box2" data-key="2"><img src="./img/imgs/2.jpg"></div><div class="box3" data-key="3"><img src="./img/imgs/3.jpg"></div><div class="box4" data-key="4"><img src="./img/imgs/4.jpg"></div><div class="box5" data-key="5"><img src="./img/imgs/5.jpg"></div><div class="box6" data-key="6"><img src="./img/imgs/6.jpg"></div>
</div>
<audio src="./img/audio/1.mp3" data-key="1"></audio>
<audio src="./img/audio/2.mp3" data-key="2"></audio>
<audio src="./img/audio/3.mp3" data-key="3"></audio>
<audio src="./img/audio/4.mp3" data-key="4"></audio>
<audio src="./img/audio/5.mp3" data-key="5"></audio>

js:

let divs=document.querySelectorAll('.cube>div')
let audios=document.querySelectorAll('audio')for(let i=0;i<divs.length;i++){for(let j=0;j<audios.length;j++){if(divs[i].dataset.key===audios[j].dataset.key){divs[i].onclick=function(){audios[j].play()}}}}

在最后,如果觉得博主写的还行

,期待??点赞 ??评论 ??收藏

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

618快到了送上自制前端小项目(html css js)相关推荐

  1. 服务器上部署前端Vue项目代码

    服务器上部署前端Vue项目代码 本人自己感觉部署前端代码比部署后端难,主要是我在部署的过程中遇到了各种报错

  2. 520情人节送女朋友的3D相册礼物~html+css+js实现抖音炫酷樱花3D相册(含音乐)

    520情人节送女朋友的3D相册礼物~html+css+js实现抖音炫酷樱花3D相册(含音乐) 一年一度的/520情人节/七夕情人节/生日礼物/告白师妹/程序员表白,是不是要给女朋友或者正在追求的妹子一 ...

  3. 前端小demo_day02_聚光灯(CSS)实现

    前端小demo_day02_聚光灯(CSS)实现 写在前面 前端练习的第三天,今天实现了一个聚光灯的效果,看到这个效果的第一眼的时候,就感觉会用到我们第一天学习到的一个新属性clip-path ,一起 ...

  4. 【HTML响应式项目】成人教育官网前端页面(HTML+CSS+JS实现三端适应)

    项目源码已上传至码云仓库:云南农业职业技术学院/HTML响应式成人教育官网前端页面(HTML+CSS+JS实现) 项目演示地址:成人教育网 AAP端下载地址:成人教育网APP端.apk-互联网文档类资 ...

  5. 前端小项目(一)| 电影院座位预定(html,css,js)

    前端小项目(一)| 电影院座位预定 前言 开始好好学习前端啦.学紫色爱心记录一波!! 初步学了html,css,js,在github上找了几个前端小项目模仿着练练手.第一个就是电影院座位预定页面,主要 ...

  6. 前端搭建(HTML+CSS+JS)游戏官网(或其它)页面------实例与代码(示例:游戏官网界面)

    前端搭建(HTML+CSS+JS)游戏官网(或其它)页面------实例与代码(示例:游戏官网界面) 注意:网页中的示例图片均出自米哈游–原神官网设计,如侵权,联系博主立马进行删除. 目标:网页实现前 ...

  7. 前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现

    前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现 1.vue项目pdf展示 2.pdf工具栏放大缩小功能 文章目录 前端vue项目(使用pdf.js) pdf展示及pdf工 ...

  8. 白天、暗夜双重模式+自作潜水俱乐部前端小项目+学习经验总结(一)

    嗨,这里是X,今天带来最近写的一个前端小项目,还挺不错的,所以就在这里分享一下

  9. 前端面试宝典 html css js ajax es6

    面试宝典 一.HTML和CSS 1 1. 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 1 2. 每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗? 1 3. ...

最新文章

  1. -bash:syntax error near unexpected token '('
  2. WIFI 基本理论-2017
  3. (五)Unity插件生成
  4. Java, C#, Swift语法对比速查表
  5. VC限制只能输入常规数字的CEdit控件
  6. Crackme015
  7. 流光快门Matlab,华为手机流光快门太好玩了!这几个特效分分钟拍出大片感
  8. Android使用zxing生成二维码
  9. 线性代数高频考题:判断含参数的线性方程组解的形式
  10. css样式代码的基本格式
  11. 语音领域的波束形成Beamforming小结
  12. 开发板、单片机、ARM的区别与对比
  13. 装完nvme固态经常蓝屏_方案解决:NVMe SSD安装Win7蓝屏0x0000007B快速解决方案
  14. 算法 | 八皇后问题
  15. 在vsphere client 给esxi上的虚拟机增加U盘识别
  16. 全面接入:ChatGPT杀进10个商业应用,让AI替你打工
  17. GNU C++ 智能指针6-- 解析_Sp_counted_inplace类
  18. 135编辑器如何插入文件
  19. 利用深度强化学习训练机械臂环境
  20. “芯片”=“集成电路”=“半导体”吗?

热门文章

  1. ChatGPT都有些什么好玩的玩法?
  2. 名词解释:DMA分区、
  3. 舌尖上的C——三子棋的慢烹细作
  4. linux system 和 execl 函数对比
  5. 旅游网小案例:注册(邮件激活)
  6. excel2013使用分列功能拆分数据
  7. Win2008server 环境部署 WDS,用来批量部署 windows 系统
  8. 【项目评析】深脑链DBC--区块链+人工智能的典型应用案例
  9. Intel Developer Cloud - 开放的容器化部署平台
  10. 《管道的故事》精髓:用一次性的提桶收入,创建可持续性管道,让管道收入帮你实现财务自由。