-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautoscroll.js
More file actions
1 lines (1 loc) · 1.44 KB
/
autoscroll.js
File metadata and controls
1 lines (1 loc) · 1.44 KB
1
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(%27keydown%27, keyPressed); window.addEventListener(%27keyup%27, 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);