Code C vs Main Code

Created Diff never expires
0 remoções
Linhas
Total
Removido
Palavras
Total
Removido
Para continuar usando este recurso, atualize para
Diffchecker logo
Diffchecker Pro
121 linhas
48 adições
Linhas
Total
Adicionado
Palavras
Total
Adicionado
Para continuar usando este recurso, atualize para
Diffchecker logo
Diffchecker Pro
169 linhas
var playButton = (function iife() {
var playButton = (function iife() {
"use strict";
"use strict";


function show(el) {
function show(el) {
el.classList.remove("hide");
el.classList.remove("hide");
}
}


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


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


function hideAllButtons(button) {
function hideAllButtons(button) {
button.querySelectorAll(".play, .pause, .cover, .speaker").forEach(hide);
button.querySelectorAll(".play, .pause, .cover, .speaker").forEach(hide);
}
}


function getPlay(button) {
function getPlay(button) {
return button.querySelector(".play");
return button.querySelector(".play");
}
}


function getPause(button) {
function getPause(button) {
return button.querySelector(".pause");
return button.querySelector(".pause");
}
}


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

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(".cover"));
showPlayButton(button);
}

function isPlaying(button) {
function isPlaying(button) {
var play = getPlay(button);
var play = getPlay(button);
return play.classList.contains("hide");
return play.classList.contains("hide");
}
}


function pauseAllButtons() {
function pauseAllButtons() {
var buttons = document.querySelectorAll(".playButton");
var buttons = document.querySelectorAll(".playButton");
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("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, src) {
player.volume = 1.0;
player.volume = 1.0;
player.setAttribute("src", src);
player.setAttribute("src", src);
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 manageAudio(player, opts) {
function manageAudio(player, opts) {
if (opts.playing) {
if (opts.playing) {
pauseAudio(player);
pauseAudio(player);
} else {
} else {
playAudio(player, opts.src);
playAudio(player, opts.src);
}
}
}
}


function togglePlayButton(button) {
function togglePlayButton(button) {
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"),
src: button.getAttribute("data-audio"),
playing
playing
});
});
}
}


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);
togglePlayButton(button);
}
}


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);
hideInitialOverlay(button);
button.removeEventListener("click", initialOverlayClickHandler);
button.addEventListener("click", playButtonClickHandler);
button.addEventListener("mouseover", playButtonMouseoverHandler);
button.addEventListener("mouseout", playButtonMouseoutHandler);
playButtonClickHandler(evt);
}
function initPlayButton(selector) {
function initPlayButton(selector) {
var playButtons = document.querySelectorAll(selector);
var playButtons = document.querySelectorAll(selector);
playButtons.forEach(function (button) {
playButtons.forEach(function (button) {
button.classList.add("inactive");
button.classList.add("inactive");
if (button.querySelector(".cover")) {
if (button.querySelector(".cover")) {
return button.addEventListener("click", initialOverlayClickHandler);
return button.addEventListener("click", initialOverlayClickHandler);
} else {
} else {
button.addEventListener("click", playButtonClickHandler);
button.addEventListener("click", playButtonClickHandler);
}
}
});
});
}
}


return {
return {
init: initPlayButton
init: initPlayButton
};
};
}());
}());