css特效之旋转音乐播放器
本次需要用到的知识点有:
- transform
- setInerval
怎么添加背景音乐我会在下一篇介绍 https://www.cnblogs.com/zouwangblog/p/11138734.html
使用场景:在移动端页面上方添加一个旋转的音乐图标,音乐暂停,停止旋转,音乐播放,继续旋转,这里使用的是vue。
原理:原理很简单,使用setInerval函数来让图片每100ms旋转一次,旋转用css中的transform方法,将旋转角度设置为全局变量,这样在暂停之后继续播放能接着上次的位置继续旋转
<div>
<audio :src="mus" class="media-audio" loop autoplay ref="MusicPlay"></audio>
<img :src="musicLogo" class="musicLogo" @click="musicPause" :style="{transform: musicRotate}"/> //音乐播放
<img v-show="musicTF" :src="off" class="musicLogo" @click="musicPlay"/> //音乐暂停
</div>
需要用到的变量
musicTF: false,//是否显示禁止播放
musicNum: 0,//初始旋转角度
musicRotate: "rotate(" + 0 + "deg)",
interval: null,//定时器
使用方法
/**
* 暂停音乐并停止旋转
*/
musicPause() {
this.$refs.MusicPlay.pause();
this.musicTF = true;
if (this.interval !== null) {
clearInterval(this.interval); //停止定时器
}
},
/**
* 播放音乐并开始旋转
*/
musicPlay() {
this.$refs.MusicPlay.play();
this.musicTF = false
this.countMusicNum();
},
/**
* 设置定时器旋转,这个是放在mouted方法中,需要页面一加载就旋转
*/
countMusicNum() {
let that = this;
that.interval = setInterval(function () {
that.musicNum = that.musicNum + 10;
that.musicRotate = "rotate(" + that.musicNum + "deg)";
}, 100);
},
效果图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?