【发布时间】:2020-08-07 10:09:45
【问题描述】:
您好,javascript 中有没有办法播放下一首歌曲并暂停当前正在播放的歌曲,因为这是动态的,并且它们具有相同的 id 和 onClick 值。我们如何在 javascript 中处理动态内容?
index.ejs
<% music.forEach(function(muzic){ %>
<div class="col-lg-3 col-md-6 col-sm-6">
<div class="card">
<img class="featured-image" src="/uploads/featured-img/<%= muzic.featured_img %>" alt="">
<div class="card-img-overlay" id="toggleIcon">
<a onClick="togglePlay()" class="select-play">
<img class="select-play-btn" src="/img/select-play.png" id="play-pause" width="80">
<audio id="myAudio" src="/uploads/audio-file/<%= muzic.audio %>"></audio>
</a>
</div>
</div>
</div>
<% }); %>
脚本
<script>
var myAudio = document.getElementById("myAudio");
var isPlaying = false;
function togglePlay() {
isPlaying ? myAudio.pause() : myAudio.play();
var img = document.getElementById('play-pause').src;
if (img.indexOf('select-play.png')!=-1) {
document.getElementById('play-pause').src = '/img/pause-outline.png';
}
else {
document.getElementById('play-pause').src = '/img/select-play.png';
}
var element = document.getElementById("toggleIcon");
element.classList.toggle("pause-style");
};
myAudio.onplaying = function() {
isPlaying = true;
};
myAudio.onpause = function() {
isPlaying = false;
};
</script>
【问题讨论】:
标签: javascript node.js ejs