Website AutoScroll

Automatically scroll through any webpage!

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Website AutoScroll
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Automatically scroll through any webpage!
// @author       Calvin H
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    var minClamp = 1;
    var maxClamp = 10000; // Change this to modify max possible pixels per second

    var popupVariable;
    var pixelsPerFrame = 1;

    var scrollState = true;

    window.addEventListener('keydown', function(event) {
        if (event.keyCode === 72 && (event.ctrlKey || event.metaKey)) {
            popupVariable = prompt("How many pixels per second would you like to AutoScroll? (" + minClamp + "-" + maxClamp + "). Just manually scroll in order to stop the AutoScroll.");
            scrollState = false;
            popupVariable = clamp(popupVariable);
            scrollInterval = 1000/popupVariable;
            pixelsPerFrame = 1;
            if (popupVariable > 100) {
                scrollInterval = 10;
                pixelsPerFrame = popupVariable/100
            }
            clearInterval(scrollIntervalId);
            scrollIntervalId = window.setInterval(scrollDown, scrollInterval);
        }
    }, false);

    var scrollIntervalId;
    var scrollInterval;

    function scrollDown() {
        if (!scrollState) {
        window.scrollBy(0, pixelsPerFrame);
            console.log(pixelsPerFrame);
        }
    }

    function clamp(num) {
        return Math.max(minClamp, Math.min(num, maxClamp));
    }

    window.addEventListener('wheel', function(e) {
        if (!scrollState) {
            scrollState = true;
        }
    }, false);
})();