之前搭建网站时,做过一个landingpage, 加入了背景音乐,觉得还挺有意思的,记录下操作步骤,以备不时之需。
正文
效果图:
通过点击按钮来控制音乐的播放。
怎么做?
三部曲,html,css, js.
以首页为welcome的index.html.erb
为例,简单说明。
- step1、在首页
index.html.erb
中,添加如下代码:
<a id="btn-music" class="btn-music"></a>
<audio class="music" src="XXX.mp3" autoplay controls loop hidden>
</audio>
其中,src
部分根据个人情况进行修改,如果音乐文件存在本地的public下,直接引用文件名,如果是网路上,直接引用网址,类似这样:src="https://res.cloudinary.com/dfbew47j6/video/upload/v1496754060/lighthouse_s31qoc.m4a"
- step2、在你的
welcome.scss
或者application.scss
中添加以下代码:
.btn-music {
position: absolute;
top: 1rem;
left: 1rem;
width: 3rem;
height: 3rem;
margin-left: 20px;
background: url('https://res.cloudinary.com/elliepooh/image/upload/v1491889929/music_s7aiet.svg') center center / 100% no-repeat;
cursor: pointer;
}
.music-off {
background: url('https://res.cloudinary.com/elliepooh/image/upload/v1491890054/music-off_nrnsni.svg') center center / 90% no-repeat;
}
- step3、在首页
index.html.erb
最下方,加入如下代码:<script type="text/javascript"> let playMusic = true; document.getElementById("btn-music").addEventListener("click", function() { playMusic = !playMusic; document.getElementById("btn-music").classList.toggle('music-off'); playMusic ? document.querySelector('.music').play() : document.querySelector('.music').pause(); }); worldMusic.volume = 0.8;//预设音量 </script>
搞定,可以愉快地听歌啦!!
The End
参考资料: