我有一个图标,play/pause
当我点击时play
,我可以看到pause
,但是我有很多带有音频的块,在我的js
代码中我可以只更改第一个图标(从play
到pause
)。我如何才能将其添加到页面上的所有音频元素中?
let playIcon = "https://image.flaticon.com/icons/svg/149/149668.svg";
let pauseIcon = "https://image.flaticon.com/icons/svg/149/149670.svg";
function togglePlay(video) {
var audio = document.getElementsByTagName("audio")[0];
if (!audio)
return;
audio.paused ? audio.play() : audio.pause();
document.getElementById("button").src = audio.paused ? playIcon : pauseIcon;
}
#button {
width: 50px;
display: block;
}
<div class="player" onclick="togglePlay(this)">
<img src="https://image.flaticon.com/icons/svg/149/149668.svg" id="button">
<audio>
<source src="https://ccrma.stanford.edu/~jos/mp3/bachfugue.mp3" />
</audio>
</div>
不要使用 ID 来获取按钮,而是相对于调用该函数的元素来访问它。试试这个功能。
function togglePlay(elm) {
var audio = elm.querySelector('audio');
if(!audio) return;
audio.paused ? audio.play() : audio.pause();
elm.querySelector('img').src = audio.paused ? playIcon : pauseIcon;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句