<div>
<h3>标题</h3>
<ul>
<li data-src="audio1.mp3">音频1</li>
<li data-src="audio2.mp3">音频2</li>
<li data-src="audio3.mp3">音频3</li>
</ul>
<div>
<audio id="audio-player" controls>
<source src="" type="audio/mpeg">
您的浏览器不支持音频播放。
</audio>
</div>
</div>
<style>
.audio-player-container {
max-width: 600px;
margin: 20px auto;
padding: 20px;
background:#ffc000;
border-radius: 10px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
font-family: Arial, sans-serif;
}
.audio-player-container h3 {
text-align: center;
color:#333;
margin-bottom: 20px;
}
.audio-playlist {
list-style: none;
padding: 0;
margin: 0;
}
.audio-playlist li {
padding: 10px;
margin: 5px 0;
background:#fff;
border-radius: 5px;
cursor: pointer;
transition: background 0.3s ease;
color: #632423;
text-decoration: none;
border: 1px solid#ffff00;
}
.audio-playlist li:hover {
background:#f1f1f1;
color:#0056b3;}
.audio-playlist li.playing {
background:#fdeada;
color:#fff;
}
.audio-controls {
margin-top: 20px;
}
audio {
width: 100%;
outline: none;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
const playlist = document.querySelector('.audio-playlist');
const audioPlayer = document.getElementById('audio-player');
const audioItems = document.querySelectorAll('.audio-playlist li');
let currentIndex = 0;
// 加载并播放音频
function loadAudio(index) {
const audioSrc = audioItems[index].getAttribute('data-src');
audioPlayer.src = audioSrc;
audioPlayer.play();
updateHighlight(index);
}
// 更新当前播放高亮
function updateHighlight(index) {
audioItems.forEach((item, i) => {
if (i === index) {
item.classList.add('playing');
} else {
item.classList.remove('playing');
}
});
}
// 点击列表项播放
playlist.addEventListener('click', function(event) {
if (event.target.tagName === 'LI') {
currentIndex = Array.from(audioItems).indexOf(event.target);
loadAudio(currentIndex);
}
});
// 自动播放下一首
audioPlayer.addEventListener('ended', function() {
currentIndex = (currentIndex + 1) % audioItems.length;
loadAudio(currentIndex);
});
// 初始化播放第一首
loadAudio(0);
});
</script>