34 lines
841 B
JavaScript
34 lines
841 B
JavaScript
Array.from(document.getElementsByTagName("audio")).forEach(function (
|
|
element,
|
|
index,
|
|
elements
|
|
) {
|
|
element.addEventListener("play", function () {
|
|
var self = this;
|
|
elements.forEach(function (element) {
|
|
if (element === self) return;
|
|
element.pause();
|
|
element.currentTime = 0;
|
|
});
|
|
});
|
|
});
|
|
|
|
var trackList = document.querySelector(".track-list");
|
|
if (trackList) {
|
|
trackList.addEventListener("click", function (event) {
|
|
if (event.target.tagName !== "A") return;
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
var href = event.target.href;
|
|
|
|
var player = document.querySelector(".audio-player");
|
|
|
|
player.querySelector("figcaption > b").textContent =
|
|
event.target.dataset.caption;
|
|
|
|
var audio = player.querySelector("audio");
|
|
audio.src = href;
|
|
audio.play();
|
|
});
|
|
}
|