当前位置: 首页 > wzjs >正文

100m做电影网站百度seo招聘

100m做电影网站,百度seo招聘,企业营销策划实现的途径,百度云做网站空间📅 我们继续 50 个小项目挑战!—— SoundBoard 组件 仓库地址:https://github.com/SunACong/50-vue-projects 项目预览地址:https://50-vue-projects.vercel.app/ 🎯 组件目标 实现一个响应式按钮面板,点…

📅 我们继续 50 个小项目挑战!—— SoundBoard 组件

  • 仓库地址:https://github.com/SunACong/50-vue-projects

  • 项目预览地址:https://50-vue-projects.vercel.app/

在这里插入图片描述


🎯 组件目标

  • 实现一个响应式按钮面板,点击某一按钮即可播放对应音频。

  • 点击新按钮时自动停止其他音效,确保每次只有一个音频在播放。

  • 利用 Vue3 组合式 API + 原生 DOM 控制,打造高效小巧的功能组件。

🛠️ 技术实现点

  • 使用 Vue3 <script setup> 编写逻辑,简洁明了。

  • 利用 ref 存储音频列表数据,支持动态遍历。

  • 使用 document.getElementById 原生 API 获取音频 DOM 元素,控制播放行为。

  • Tailwind CSS 控制按钮样式及悬停动画,增强交互感。

🧱 组件实现源码(含注释)

<template><div class="flex h-screen items-center gap-10 justify-center text-black"><!-- 遍历音效列表,渲染按钮,每个按钮对应一个 <audio> 元素 --><divclass="rounded-lg border-2 bg-gray-300 px-8 py-4 hover:scale-105 hover:bg-gray-400"v-for="(item, index) in soundList":key="item.id"@click="handlePlayAudio(index)">{{ item.name }}<audio :id="item.id" :src="item.src"></audio></div></div>
</template><script setup>
import { ref } from 'vue'// 音效播放控制函数
const handlePlayAudio = (index) => {// 暂停所有音效,重置播放进度soundList.value.forEach((sound) => {const audio = document.getElementById(sound.id)audio.pause()audio.currentTime = 0})// 播放当前选中的音效const selectedAudio = document.getElementById(soundList.value[index].id)selectedAudio.play()
}// 音效列表:可以根据需求拓展为动态加载或远程配置
const soundList = ref([{ id: 1, name: 'applause 👏', src: '/src/assets/sounds/applause.mp3' },{ id: 2, name: 'boo 😒', src: '/src/assets/sounds/boo.mp3' },{ id: 3, name: 'gasp 😲', src: '/src/assets/sounds/gasp.mp3' },{ id: 4, name: 'tada 🎉', src: '/src/assets/sounds/tada.mp3' },{ id: 5, name: 'victory 🏆', src: '/src/assets/sounds/victory.mp3' },{ id: 6, name: 'wrong ❌', src: '/src/assets/sounds/wrong.mp3' },
])
</script>

💡 样式与逻辑讲解

  • 样式部分
类名功能描述
flex h-screen items-center justify-center垂直居中音效按钮面板
gap-10按钮之间间距
rounded-lg border-2 px-8 py-4按钮基础样式
hover:scale-105 hover:bg-gray-400鼠标悬停时的放大 + 背景变化动画
text-black 文字颜色
  • 逻辑部分
函数功能
handlePlayAudio(index)播放第 index 个音效,并停止其他音频
soundList音效数据源,每个元素包含 id、name、src 三个字段
document.getElementById()获取原生 DOM 元素,用于控制 标签

🧾 常量定义 + 组件路由建议

constants/index.js 添加组件预览常量:

export const projectList = [
{id: 9,title: 'Sound Board',image: 'https://50projects50days.com/img/projects-img/9-sound-board.png',link: 'SoundBoard',},
]

router/index.js 中添加路由选项:

{path: '/SoundBoard',name: 'SoundBoard',component: () => import('@/projects/SoundBoard.vue'),},

🧾 总结

本组件展示了如何在 Vue3 中结合 DOM 操作与响应式数据,实现一个轻量级、趣味性十足的音效选择器,非常适合作为日常 UI 组件库的娱乐增强模块。


👉 下一篇,我们将完成 Dad Jokes组件,一个利用公共的API获取数据随机生成笑话的组件!🚀

http://www.dtcms.com/wzjs/349191.html

相关文章:

  • 做网站公司哪家比较好优化网站标题名词解释
  • 网站建设和平面设计精准广告投放
  • 网站改版打造全新网站搜索引擎优化技术都有哪些
  • 如东网站建设公司全国疫情排行榜最新情况列表
  • 深圳网站工作室网站关键词搜索排名
  • 住房和城乡建设部官方网站办事大厅百度免费推广登录入口
  • 做动画相册在哪个网站好企业网站建设的重要性
  • 网站可以免费做吗免费推广的平台
  • 特色专业建设验收网站最新全国疫情消息
  • 福建省住房城乡建设部网站公司企业网站制作需要多少钱
  • 网站整体框架广告公司是做什么的
  • 做农业的公司管理网站专门做网站的公司
  • 拉米拉云网站建设优化营商环境发言材料
  • 舟山市规划建设局网站seo项目经理
  • 网站建设html模板百度pc端入口
  • 求个网站好人一生平安建设网站公司
  • 旅游交友的网站建设佛山网络公司 乐云seo
  • 网站测试方案在线搭建网站
  • 建设营销型网站多少钱百度一下搜索一下
  • 网站日志分析之后咋做自建网站平台有哪些
  • 做鸭服务的网站或群google浏览器网页版
  • jsp做网站案例自助建站免费建站平台
  • 外贸营销网站建设开鲁网站seo
  • 网站的html最新地址
  • 荷塘网站建设seo搜索引擎优化推荐
  • 2010年4月江苏省03340网站建设与管理答案东莞seo网站排名优化公司
  • 潍坊网站建设报价费用全国疫情高峰时间表最新
  • 广州建网站多少钱百度地图关键词优化
  • 做二手家电网站怎样搜索引擎seo推广
  • 建设政府网站的好处产品质量推广营销语