AutoScroll Mobile

AutoScroll avec boutons tactiles pour mobiles et tablettes

// ==UserScript==
// @name         AutoScroll Mobile
// @namespace    https://gf.qytechs.cn/users/1429467
// @description  AutoScroll avec boutons tactiles pour mobiles et tablettes
// @include      http*
// @version      1.3
// @author       Lakfu sama
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    let scrolling = false;
    let speed = 50;
    let scrollInterval;

    function startScrolling() {
        if (!scrolling) {
            scrolling = true;
            scrollInterval = setInterval(() => {
                window.scrollBy(0, 5);
            }, speed);
            updateButtonState();
        }
    }

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

    function toggleScrolling() {
        scrolling ? stopScrolling() : startScrolling();
    }

    function increaseSpeed() {
        if (speed > 10) {
            speed -= 10;
            restartScrolling();
        }
    }

    function decreaseSpeed() {
        speed += 10;
        restartScrolling();
    }

    function restartScrolling() {
        if (scrolling) {
            stopScrolling();
            startScrolling();
        }
    }

    function scrollToTop() {
        window.scrollTo({ top: 0, behavior: 'smooth' });
    }

    function scrollToBottom() {
        window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
    }

    function updateButtonState() {
        let button = document.getElementById('scroll-toggle');
        if (scrolling) {
            button.textContent = '⏸️ Stop';
            button.style.backgroundColor = '#ff5555';
        } else {
            button.textContent = '▶️ Start';
            button.style.backgroundColor = '#4CAF50';
        }
    }

    // Supprimer les anciens boutons pour éviter les doublons
    function removeExistingButtons() {
        document.querySelectorAll('.scroll-btn').forEach(btn => btn.remove());
    }

    // Création des boutons tactiles
    function createButton(id, text, onClick, bgColor, position) {
        let button = document.createElement('button');
        button.id = id;
        button.textContent = text;
        button.onclick = onClick;
        button.style.position = 'fixed';
        button.style.bottom = '5px'; // Position basse
        button.style.right = position + 'vw'; // Position horizontale dynamique
        button.style.width = '50px'; // Taille adaptée au tactile
        button.style.height = '50px';
        button.style.fontSize = '16px';
        button.style.border = 'none';
        button.style.borderRadius = '10px';
        button.style.backgroundColor = bgColor;
        button.style.color = 'white';
        button.style.zIndex = '10000';
        button.className = 'scroll-btn';
        document.body.appendChild(button);
    }

    // Supprimer les boutons existants avant de les recréer
    removeExistingButtons();

    // Création des boutons avec un espacement uniforme
    let buttons = [
        { id: 'scroll-toggle', text: '▶️ Start', action: toggleScrolling, color: '#4CAF50', pos: 2 },
        { id: 'scroll-up', text: '⬆️', action: scrollToTop, color: '#2196F3', pos: 12 },
        { id: 'scroll-down', text: '⬇️', action: scrollToBottom, color: '#2196F3', pos: 22 },
        { id: 'speed-up', text: '⏩+', action: increaseSpeed, color: '#FF9800', pos: 32 },
        { id: 'speed-down', text: '⏪-', action: decreaseSpeed, color: '#FF9800', pos: 42 }
    ];

    buttons.forEach(btn => {
        createButton(btn.id, btn.text, btn.action, btn.color, btn.pos);
    });

})();

QingJ © 2025

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