Untitled diff

Created Diff never expires
11 刪除
總計
刪除
單詞
總計
刪除
要繼續使用此功能,請升級到
Diffchecker logo
Diffchecker Pro
114
71 新增
總計
新增
單詞
總計
新增
要繼續使用此功能,請升級到
Diffchecker logo
Diffchecker Pro
171
(function iife() {
(function iife() {
"use strict";
"use strict";


function show(el) {
function show(el) {
el.classList.remove("hidea");
el.classList.remove("hidea");
el.classList.remove("hideb");
el.classList.remove("hideb");
el.classList.remove("hidec");
el.classList.remove("hidec");
el.classList.remove("hided");
el.classList.remove("hided");
el.classList.remove("hidee");
el.classList.remove("hidee");
el.classList.remove("hidef");
el.classList.remove("hidef");
}
}


function hide(el) {
function hide(el) {
el.classList.add("hidea");
el.classList.add("hideb");
}
}


function getButtonContainer(el) {
function getButtonContainer(el) {
while (el.classList.contains("playButtona") === false) {
while (el.classList.contains("playButtonb") === false) {
el = el.parentNode;
el = el.parentNode;
}
}
return el;
return el;
}
}


function hideAllButtons(button) {
function hideAllButtons(button) {
button.querySelectorAll(".playa, .pausea, .initialb, .pauseb, .speakerb, .playb, .playc, .pausec, .playd, .paused, .playe, .pausee, .playf, .pausef").forEach(hide);
button.querySelectorAll(".playa, .pausea, .initialb, .pauseb, .speakerb, .playb, .playc, .pausec, .playd, .paused, .playe, .pausee, .playf, .pausef").forEach(hide);
}
}


function getPlay(button) {
function getPlay(button) {
return button.querySelector(".playa, .playb, .playc, .playd, .playe, .playf");
return button.querySelector(".playa, .playb, .playc, .playd, .playe, .playf");
}
}


function getPause(button) {
function getPause(button) {
return button.querySelector(".pausea, .pauseb, .pausec, .paused, .pausee, .pausef");
return button.querySelector(".pausea, .pauseb, .pausec, .paused, .pausee, .pausef");
}
}


function getSpeaker(button) {
return button.querySelector(".speakerb");
}

function showPlayButton(button) {
function showPlayButton(button) {
var play = getPlay(button);
var play = getPlay(button);
hideAllButtons(button);
hideAllButtons(button);
show(play);
show(play);
button.classList.remove("active");
button.classList.remove("active");
}
}


function hideInitialOverlay(button) {
hide(button.querySelector(".initialb"));
showPlayButton(button);
}

function isPlaying(button) {
function isPlaying(button) {
var play = getPlay(button);
var play = getPlay(button);
return play.classList.contains("hidea") || play.classList.contains("hideb") || play.classList.contains("hidec") || play.classList.contains("hided") || play.classList.contains("hidee") || play.classList.contains("hidef");
return play.classList.contains("hidea") || play.classList.contains("hideb") || play.classList.contains("hidec") || play.classList.contains("hided") || play.classList.contains("hidee") || play.classList.contains("hidef");
}
}


function pauseAllButtons() {
function pauseAllButtons() {
var buttons = document.querySelectorAll(".playButtona, .playButtonb, .playButtonc, .playButtond, .playButtone, .playButtonf");
var buttons = document.querySelectorAll(".playButtona, .playButtonb, .playButtonc, .playButtond, .playButtone, .playButtonf");
buttons.forEach(function hidePause(button) {
buttons.forEach(function hidePause(button) {
if (isPlaying(button)) {
if (isPlaying(button)) {
showPlayButton(button);
showPlayButton(button);
}
}
});
});
}
}


function showPauseButton(button) {
function showPauseButton(button) {
var pause = getPause(button);
var pause = getPause(button);
pauseAllButtons();
pauseAllButtons();
hideAllButtons(button);
hideAllButtons(button);
show(pause);
show(pause);
button.classList.add("active");
button.classList.add("active");
button.classList.add("activated");
}

function showSpeakerButton(button) {
var speaker = getSpeaker(button);
hideAllButtons(button);
show(speaker);
}
}


function getAudio() {
function getAudio() {
return document.querySelector("audio");
return document.querySelector("audio");
}
}


function playAudio(player, src) {
function playAudio(player) {
player.volume = 1.0;
player.volume = 1.0;
player.setAttribute("src", src);
player.setAttribute("src", "http://hi5.1980s.fm/;");
player.play();
player.play();
}
}


function showButton(button, opts) {
function showButton(button, opts) {
if (opts.playing) {
if (opts.playing) {
showPlayButton(button);
showPlayButton(button);
} else {
} else {
showPauseButton(button);
showPauseButton(button);
}
}
}
}


function pauseAudio(player) {
function pauseAudio(player) {
player.pause();
player.pause();
}
}


function delay(milli, func) {
return setTimeout(func, milli);
}

function manageAudio(player, opts) {
function manageAudio(player, opts) {
if (opts.playing) {
if (opts.playing) {
pauseAudio(player);
pauseAudio(player);
} else {
} else {
playAudio(player, opts.src);
delay(opts.audioDelay, function delayAudio() {
playAudio(player, opts.src);
});
}
}
}
}


function togglePlayButton(button) {
function playButton(button, audioDelay) {
var player = getAudio();
var player = getAudio();
var playing = isPlaying(button);
var playing = isPlaying(button);
showButton(button, {
showButton(button, {
playing
playing
});
});
manageAudio(player, {
manageAudio(player, {
src: button.getAttribute("data-audio"),
playing,
playing
audioDelay
});
});
}
}


function showPause(button) {
if (isPlaying(button)) {
showPauseButton(button);
}
}

function showSpeaker(button) {
if (isPlaying(button)) {
showSpeakerButton(button);
}
}

function playButtonClickHandler(evt) {
function playButtonClickHandler(evt) {
var button = getButtonContainer(evt.target);
var button = getButtonContainer(evt.target);
togglePlayButton(button);
playButton(button);
}
}
var playButton = document.querySelector(".playButtona");

playButton.addEventListener("click", playButtonClickHandler);
function playButtonMouseoverHandler(evt) {
var button = getButtonContainer(evt.target);
showPause(button);
}

function playButtonMouseoutHandler(evt) {
var button = getButtonContainer(evt.target);
showSpeaker(button);
}

function initialOverlayClickHandler(evt) {
var button = getButtonContainer(evt.target);
var delayBeforeAudio = 1500;
hideInitialOverlay(button);
button.removeEventListener("click", initialOverlayClickHandler);
button.addEventListener("click", playButtonClickHandler);
button.addEventListener("mouseover", playButtonMouseoverHandler);
button.addEventListener("mouseout", playButtonMouseoutHandler);
playButton(button, delayBeforeAudio);
}
var playButtons = document.querySelectorAll(".playButtonb");
playButtons.forEach(function addInitialOverlayHandler(button) {
button.addEventListener("click", initialOverlayClickHandler);
});
}());
}());