// ==UserScript== // @name Imgur Album Slideshow // @version 2017.03.05.02 // @description Adds a menu to Imgur albums to start a slideshow // @author Withaika // @match *://imgur.com/a/* // @grant none // @require http://code.jquery.com/jquery-1.12.4.min.js // @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js // @namespace https://greasyfork.org/users/94615 // @downloadURL https://update.greasyfork.icu/scripts/28640/Imgur%20Album%20Slideshow.user.js // @updateURL https://update.greasyfork.icu/scripts/28640/Imgur%20Album%20Slideshow.meta.js // ==/UserScript== (function() { $("#right-content").prepend("

Delay (s):

Randomize:

"); $('body').prepend(''); })(); var slideIndex = 1; var Images=[]; function plusDivs(n) { showDivs(slideIndex += n); } function showDivs(n) { var i; var x = Images; if (n > x.length) {slideIndex = 1;} if (n < 1) {slideIndex = x.length;} document.getElementById("FSSI").src=x[slideIndex-1]; } function startSlide(){ document.getElementById("restart").style.display="inline-block"; if (document.getElementById("randomize").checked){undefinedImages = _widgetFactory._.config.gallery.image.album_images.randomize();}else{undefinedImages = _widgetFactory._.config.gallery.image.album_images;} for (i=0;i
"); document.getElementById("manualBack").addEventListener("click", function(){ isPaused=true; plusDivs(-1); }); document.getElementById("manualForward").addEventListener("click", function(){ isPaused=true; plusDivs(1); }); $(document).keydown(function(e) { switch(e.which) { case 37: // left plusDivs(-1); break; case 38: // up delay--; break; case 39: // right plusDivs(1); break; case 40: // down delay++; break; case 32: // space if (isPaused){isPaused=false;}else{isPaused=true;} break; case 27: // escape FSTog(document.getElementById("ss")); clearInterval(intID); break; default: return; } e.preventDefault(); }); showDivs(slideIndex); FSTog(document.getElementById("ss")); var intID=window.setInterval(function(){ if(!isPaused) { plusDivs(1); } }, delay*1000); } function FSTog(element) { if (!element.fullscreenElement && !element.mozFullScreenElement && !element.webkitFullscreenElement && !element.msFullscreenElement ) { if (element.requestFullscreen) { element.requestFullscreen(); } else if (element.msRequestFullscreen) { element.msRequestFullscreen(); } else if (element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if (element.webkitRequestFullscreen) { element.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); } } else { if (element.exitFullscreen) { element.exitFullscreen(); } else if (element.msExitFullscreen) { element.msExitFullscreen(); } else if (element.mozCancelFullScreen) { element.mozCancelFullScreen(); } else if (element.webkitExitFullscreen) { element.webkitExitFullscreen(); } } } Array.prototype.randomize = function() { array=this; var currentIndex = array.length, temporaryValue, randomIndex; while (0 !== currentIndex) { randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; }; document.getElementById("ssStart").addEventListener("click", function(){ startSlide(); }); document.getElementById("ssReStart").addEventListener("click", function(){ startSlide(); slideIndex = 1; });