diff options
Diffstat (limited to 'public/assets/js/lib/views/details/audio.js')
| -rw-r--r-- | public/assets/js/lib/views/details/audio.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/public/assets/js/lib/views/details/audio.js b/public/assets/js/lib/views/details/audio.js index 0f81bb9..6c20e78 100644 --- a/public/assets/js/lib/views/details/audio.js +++ b/public/assets/js/lib/views/details/audio.js @@ -17,6 +17,7 @@ var audio = (function () { audio.build(); el.src = music[0]; }; + audio.index = function () { music = []; var links = document.querySelectorAll("a"); @@ -32,6 +33,7 @@ var audio = (function () { audio.set_cursor(); } }; + audio.build = function () { if (built) return; built = true; @@ -42,6 +44,7 @@ var audio = (function () { parent.appendChild(el); document.body.addEventListener("keydown", audio.keydown); }; + audio.destroy = function () { el.pause(); el = null; @@ -49,6 +52,7 @@ var audio = (function () { document.body.removeEventListener("keydown", audio.keydown); built = false; }; + audio.play = function (index) { playing = true; current_index = (parseInt(index) + music.length) % music.length; @@ -56,21 +60,26 @@ var audio = (function () { el.play(); audio.set_cursor(); }; + audio.set_cursor = function () { selected = document.querySelector(".playing"); if (selected) selected.classList.remove("playing"); music[current_index].classList.add("playing"); }; + audio.prev = function () { audio.play(current_index - 1); }; + audio.next = function () { audio.play(current_index + 1); }; + audio.toggle = function () { if (el.paused) el.play(); else el.pause(); }; + audio.keydown = function (e) { function element_is_text_input(el) { var tagName = el.tagName.toLowerCase(); |
