之前搭建网站时,做过一个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
参考资料: