您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds an ultra-smooth zoom slider with draggable functionality. Keeps slider always visible and unaffected by zoom.
- // ==UserScript==
- // @name Ultra Smooth Zoom Slider (Fixed & Isolated UI)
- // @namespace http://tampermonkey.net/
- // @version 1.9
- // @description Adds an ultra-smooth zoom slider with draggable functionality. Keeps slider always visible and unaffected by zoom.
- // @author tae
- // @match *://*/*
- // @grant none
- // ==/UserScript==
- (function () {
- 'use strict';
- function createZoomSlider() {
- console.log("✅ Ultra Smooth Zoom Slider Initialized...");
- // Create the slider
- const slider = document.createElement('input');
- slider.type = 'range';
- slider.min = '0.5';
- slider.max = '2';
- slider.step = '0.01';
- slider.value = '1';
- slider.style.width = '200px';
- // Create a container for the slider
- const sliderContainer = document.createElement('div');
- Object.assign(sliderContainer.style, {
- position: 'fixed',
- bottom: '10px',
- left: '10px',
- zIndex: '999999', // High z-index to stay on top
- padding: '8px',
- backgroundColor: 'rgba(255, 255, 255, 0.9)',
- border: '1px solid #ccc',
- borderRadius: '5px',
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- boxShadow: '0px 2px 10px rgba(0, 0, 0, 0.2)',
- cursor: 'grab',
- userSelect: 'none'
- });
- sliderContainer.appendChild(slider);
- document.body.appendChild(sliderContainer);
- console.log("🎯 Zoom slider added successfully.");
- // Create a zoomable wrapper
- const zoomWrapper = document.createElement('div');
- zoomWrapper.id = 'zoom-wrapper';
- while (document.body.firstChild && document.body.firstChild !== sliderContainer) {
- zoomWrapper.appendChild(document.body.firstChild);
- }
- document.body.insertBefore(zoomWrapper, sliderContainer);
- // Apply transform to wrapper, not the whole document
- zoomWrapper.style.transformOrigin = 'top left';
- zoomWrapper.style.transition = 'transform 0.2s ease-out';
- slider.addEventListener('input', function () {
- zoomWrapper.style.transform = `scale(${slider.value})`;
- });
- // Dragging functionality
- let isDragging = false;
- let startX, startY, initialLeft, initialBottom;
- sliderContainer.addEventListener('mousedown', function (e) {
- isDragging = true;
- sliderContainer.style.cursor = 'grabbing';
- startX = e.clientX;
- startY = e.clientY;
- initialLeft = sliderContainer.offsetLeft;
- initialBottom = window.innerHeight - sliderContainer.offsetTop - sliderContainer.offsetHeight;
- document.addEventListener('mousemove', onMouseMove);
- document.addEventListener('mouseup', onMouseUp);
- });
- function onMouseMove(e) {
- if (isDragging) {
- const dx = e.clientX - startX;
- const dy = e.clientY - startY;
- sliderContainer.style.left = `${Math.max(0, initialLeft + dx)}px`;
- sliderContainer.style.bottom = `${Math.max(0, initialBottom - dy)}px`;
- }
- }
- function onMouseUp() {
- isDragging = false;
- sliderContainer.style.cursor = 'grab';
- document.removeEventListener('mousemove', onMouseMove);
- document.removeEventListener('mouseup', onMouseUp);
- }
- }
- if (document.readyState === 'loading') {
- document.addEventListener('DOMContentLoaded', createZoomSlider);
- } else {
- createZoomSlider();
- }
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址