在音乐播放的时候musicOn.png图片选择,点击后音乐停止,图片为musicOff.png,点击musicOff.png后音乐继续播放,并且在音乐播放时musicOn.png图片还可以旋转。如下视频:
例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>音乐控制</title>
<style>
#musicControl {
cursor: pointer;
position: fixed;
top: 10px;
right: 10px;
z-index: 9999; /* 设置 z-index 为一个较大的值 */
}
#musicImage {
transition: transform 0.5s ease-in-out;
}
.rotate {
animation: rotateMusic 2s linear infinite;
}
@keyframes rotateMusic {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
</style>
</head>
<body>
<div id="musicControl">
<img id="musicImage" src="musicOn.png" alt="音乐开启">
</div>
<audio id="audio" controls autoplay loop>
<source src="your_music_file.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<script>
var audio = document.getElementById("audio");
var musicImage = document.getElementById("musicImage");
var isPlaying = true;
function toggleMusic() {
if (isPlaying) {
audio.pause();
musicImage.src = "musicOff.png";
musicImage.classList.remove("rotate");
} else {
audio.play();
musicImage.src = "musicOn.png";
musicImage.classList.add("rotate");
}
isPlaying = !isPlaying;
}
audio.addEventListener("pause", function() {
musicImage.classList.remove("rotate");
});
document.getElementById("musicControl").addEventListener("click", toggleMusic);
window.addEventListener("load", function() {
audio.play();
musicImage.classList.add("rotate");
// 将音频控制器移动到屏幕之外,这样就在屏幕上只显示播放按钮了
audio.style.position = 'absolute';
audio.style.left = '-9999px';
audio.style.top = '-9999px';
});
</script>
</body>
</html>
欢迎大家提出宝贵意见互相讨论 。