Middle Click Auto Scroll

Scrolls page down at a set speed when middle mouse button is clicked

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name         Middle Click Auto Scroll
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Scrolls page down at a set speed when middle mouse button is clicked
// @author       You
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    let scrolling = false;
    let scrollInterval = null;

    function startScrolling(speed) {
        if (scrolling) return;
        scrolling = true;
        scrollInterval = setInterval(() => {
            window.scrollBy(0, 1);
        }, 1000 / speed);
    }

    
    function stopScrolling() {
        scrolling = false;
        if (scrollInterval) clearInterval(scrollInterval);
        scrollInterval = null;
    }

    window.addEventListener('mousedown', function(e) {
        if (e.button === 1 && !scrolling) {
            e.preventDefault();
            let speed = parseInt(prompt('Enter scroll speed (pixels per second):', '100'), 10);
            //assitance from github copilot
        if (!isNaN(speed) && speed > 0) {
            startScrolling(speed);
            }
        } else if (e.button === 1 && scrolling) {
            stopScrolling();
        }
    });
    //assistance from github copilot


    window.addEventListener('keydown', function() {
        if (scrolling) stopScrolling();
    });
})();