Greasy Fork

Greasy Fork is available in English.

平滑滚动翻页

使用w和s键进行平滑滚动翻页。

目前为 2024-06-22 提交的版本,查看 最新版本

// ==UserScript==
// @name         平滑滚动翻页
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  使用w和s键进行平滑滚动翻页。
// @author       coccvo
// @match        https://www.qidian.com/*
// @match        https://tieba.baidu.com/*
// @match        https://s.weibo.com/*
// @match        https://weibo.com/*
// @match        https://www.miyoushe.com/*
// @match        https://www.zhihu.com/*
// @match        https://www.bilibili.com/read/*
// @match        https://m.ithome.com/*
// @match        https://www.baidu.com/*
// @match        https://new.oaifree.com/*
// @match        https://www.guancha.cn/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    let initialized = false;

    function initialize() {
        if (initialized) return;
        initialized = true;

        // 获取视窗高度
        let viewportHeight = window.innerHeight;

        // 定义每次滚动的距离为视窗高度的0.9倍
        let scrollDistance = viewportHeight * 0.9;

        // 监听按键事件
        document.addEventListener('keydown', function(event) {
            if (event.key === 'w') {
                // 按下w键向上滚动
                window.scrollBy({
                    top: -scrollDistance,
                    left: 0,
                    behavior: 'smooth'
                });
            } else if (event.key === 's') {
                // 按下s键向下滚动
                window.scrollBy({
                    top: scrollDistance,
                    left: 0,
                    behavior: 'smooth'
                });
            }
        });
    }

    // 页面加载完毕后执行
    window.addEventListener('load', function() {
        initialize();
    });

    // 窗口获取焦点时初始化(仅第一次)
    window.addEventListener('focus', function() {
        initialize();
    });
})();