Auto Scroll

Auto Scroll Pages (double click / ctrl+arrow)

目前為 2019-12-05 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Auto Scroll
// @description  Auto Scroll Pages (double click / ctrl+arrow)
// @include      *
// @version      0.11
// @author       Erimus
// @grant        none
// @namespace    https://gf.qytechs.cn/users/46393
// ==/UserScript==

(function(document) {

    // speed controlled by the following 2 variables
    let scroll_interval = 15, // every xx ms
        scroll_distance = 1 // move xx pixel

    let scrolling = false, // status
        auto_scroll // scroll function

    // main function
    let toggle_scroll = function(dire) {
        scrolling = !scrolling
        if (scrolling) {
            console.log('Start scroll', dire)
            dire = dire == 'up' ? -1 : 1
            auto_scroll = setInterval(function() {
                document.documentElement.scrollTop += (dire * scroll_distance)
            }, scroll_interval)
        } else {
            console.log('Stop scroll')
            clearInterval(auto_scroll)
        }
    }

    // toogle scrolling by double click
    document.body.addEventListener('dblclick', toggle_scroll)

    // single click to stop scroll
    document.body.addEventListener('click', function() {
        console.log('Stop scroll')
        clearInterval(auto_scroll)
    })

    // toogle scrolling by hotkey
    // https://www.w3.org/2002/09/tests/keys.html
    document.onkeydown = function(e) {
        let keyCode = e.keyCode || e.which || e.charCode
        let ctrlKey = e.ctrlKey || e.metaKey
        if (ctrlKey && keyCode == 40) {
            console.log('Press Ctrl + Down arrow')
            toggle_scroll()
        } else if (ctrlKey && keyCode == 38) {
            console.log('Press Ctrl + Up arrow')
            toggle_scroll('up')
        }
    }

})(document)

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址