aboutsummaryrefslogtreecommitdiffstats
path: root/src/js
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2019-03-25 11:49:05 -0500
committerJesús <heckyel@hyperbola.info>2019-03-25 11:49:05 -0500
commit0cb80c73cf038ef08a9eb0af9eb3d18c0dfffad3 (patch)
treecdc45024f51a857cfe566a2f4fbfec0e0aab20df /src/js
parent0d917762b67496796859a88d6f34856e4b7519e6 (diff)
downloadcl-theme-0cb80c73cf038ef08a9eb0af9eb3d18c0dfffad3.tar.lz
cl-theme-0cb80c73cf038ef08a9eb0af9eb3d18c0dfffad3.tar.xz
cl-theme-0cb80c73cf038ef08a9eb0af9eb3d18c0dfffad3.zip
independent playlist with js and playlist without JS
Diffstat (limited to 'src/js')
-rw-r--r--src/js/aplaylist.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/js/aplaylist.js b/src/js/aplaylist.js
new file mode 100644
index 0000000..1d88b62
--- /dev/null
+++ b/src/js/aplaylist.js
@@ -0,0 +1,53 @@
+init();
+
+function init(){
+ var video = document.getElementById('video');
+ var playlist = document.getElementById('playlist');
+ var tracks = playlist.getElementsByTagName('a');
+ video.volume = 0.50;
+
+ //Cuenta los tracks
+ for(var track in tracks) {
+ var link = tracks[track];
+ if(typeof link === "function" || typeof link === "number") continue;
+ link.addEventListener('click', function(e) {
+ e.preventDefault();
+ var song = this.getAttribute('href');
+ run(song, video, this);
+ });
+ }
+ //Agregamos evento para reproducir el siguiente items
+ video.addEventListener('ended',function(e) {
+ for(var track in tracks) {
+ var link = tracks[track];
+ var nextTrack = parseInt(track) + 1;
+ if(typeof link === "function" || typeof link === "number") continue;
+ if(!this.src) this.src = tracks[0];
+ if(track == (tracks.length - 1)) nextTrack = 0;
+ console.log(nextTrack);
+ if(link.getAttribute('href') === this.src) {
+ var nextLink = tracks[nextTrack];
+ run(nextLink.getAttribute('href'), video, nextLink);
+ break;
+ }
+ }
+ });
+}
+
+function run(song, video, link){
+ var parent = link.parentElement;
+ //Quita el active de todos los elementos de la lista
+ var items = parent.parentElement.getElementsByTagName('li');
+ for(var item in items) {
+ if(items[item].classList)
+ items[item].classList.remove("is-active-play");
+ }
+
+ //Agrega active a este elemento
+ parent.classList.add("is-active-play");
+
+ //Inicia la reproducción
+ video.src = song;
+ video.load();
+ video.play();
+}