MediaWiki:AudioPlayer.js

From Granblue Fantasy Wiki
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
var audioplayerz = document.getElementsByClassName("audio-button");
var audioPlayer = function() {
    var audioplayerx = this;
    var audioplayery = audioplayerx.getElementsByTagName("audio")[0];
	if (audioplayery.paused) {
		var audio = document.getElementsByTagName('audio'),
		audioplayeri = audio.length;
		while (audioplayeri--) {
		audio[audioplayeri].pause();
		audio[audioplayeri].currentTime = 0;
		}
		var audioplayerj = document.getElementsByClassName("audio-button playing");
		while(audioplayerj.length > 0) {
			audioplayerj[0].className = 'audio-button';  
		}
	    audioplayery.play();
	    audioplayerx.className = "audio-button playing";
	    audioplayery.addEventListener("timeupdate", audioUpdate, false);
		audioplayery.addEventListener("canplaythrough", function() {
			audioplayerd = audioplayery.duration;
		}, false);
	} else { 
	    audioplayery.pause();
	    audioplayery.currentTime = 0;
	    audioplayerx.className = "audio-button";
	}
};
function audioUpdate() {
    if (this.currentTime == audioplayerd) {
		this.parentElement.className = "audio-button"
		this.removeEventListener('timeupdate', audioUpdate, false);
    }
}
for (var audioplayeri = 0; audioplayeri < audioplayerz.length; audioplayeri++) {
    audioplayerz[audioplayeri].addEventListener('click', audioPlayer, false);
}