forked from Damako4/Bookmarklets
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathautoscroll.js
3 lines (2 loc) · 1.49 KB
/
autoscroll.js
1
2
3
//Automatically scrolls with a custom user set speed
javascript:var s = prompt("What speed do you want to scroll at?"); (function(window, document) { var isScrolling, scrollTimeout; var defaultScrollSpeed = 50; var scrollSpeed = 50; var adjustIncrement = 2; var jumpIncrement = 50; function start() { window.addEventListener('keydown', keyPressed); window.addEventListener('keyup', keyReleased, false); autoScroll(); } function autoScroll() { if(scrollTimeout) { clearTimeout(scrollTimeout); } window.scrollBy(0,s); scrollTimeout = setTimeout(autoScroll, scrollSpeed); isScrolling = true; } var keysPressed = []; function keyPressed(event) { keysPressed[event.keyCode] = true; console.log(keysPressed); var commandKey = (keysPressed[91] || keysPressed[93]); var leftArrow = keysPressed[37]; var rightArrow = keysPressed[39]; var upArrow = keysPressed[38]; var downArrow = keysPressed[40]; var escKey = keysPressed[27]; if (escKey) { if (isScrolling){ turnOff(); } else { autoScroll(); } } if (downArrow) { event.preventDefault(); window.scrollBy(0, jumpIncrement); autoScroll(); } if (upArrow) { event.preventDefault(); window.scrollBy(0, -jumpIncrement); autoScroll(); } if (rightArrow) { event.preventDefault(); scrollSpeed -= adjustIncrement; autoScroll(); } if (leftArrow) { event.preventDefault(); scrollSpeed += adjustIncrement; autoScroll(); } } function keyReleased(event) { delete keysPressed[event.keyCode]; } function turnOff() { clearTimeout(scrollTimeout); isScrolling = false; } start(); })(window, document);