jyosei-guide/assets/customize.js

34 lines
917 B
JavaScript
Raw Permalink Normal View History

2022-08-07 16:06:23 +08:00
const page = document.querySelector(".book-page");
page.addEventListener(
"play",
(event) => {
if (event.target.tagName !== "AUDIO") return;
const elements = event.currentTarget.getElementsByTagName("audio");
2022-08-07 16:06:23 +08:00
Array.from(elements).forEach((element) => {
2022-08-07 16:06:23 +08:00
if (element === event.target) return;
2022-08-04 20:14:25 +08:00
element.pause();
element.currentTime = 0;
});
2022-08-07 16:06:23 +08:00
},
{ capture: true }
);
2022-08-07 12:59:52 +08:00
2022-08-07 16:06:23 +08:00
page.addEventListener(
"click",
(event) => {
2022-08-07 12:59:52 +08:00
if (event.target.tagName !== "A") return;
2022-08-07 16:06:23 +08:00
if (!event.target.closest(".track-list")) return;
2022-08-07 12:59:52 +08:00
event.preventDefault();
event.stopPropagation();
2022-08-07 16:06:23 +08:00
const href = event.target.href;
const player = document.querySelector(".audio-player");
2022-08-07 12:59:52 +08:00
player.querySelector("figcaption > b").textContent =
event.target.dataset.caption;
2022-08-07 16:06:23 +08:00
const audio = player.querySelector("audio");
2022-08-07 12:59:52 +08:00
audio.src = href;
audio.play();
2022-08-07 16:06:23 +08:00
},
{ capture: true }
);