您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Display a spinning circle
// ==UserScript== // @name Useless Things Series: Circle 1 // @namespace Useless Things Series: ?? // @version 1.0 // @description Display a spinning circle // @match *://*/* // @grant none // @license MIT // @namespace https://greasyfork.org/users/1126616 // ==/UserScript== (function() { 'use strict'; let isOverlayVisible = false; let rotationAngle = 0; let rotationInterval; // Circle settings let circleRadius = 160; // Initial radius of the circle let centerX = 600; // Initial X-coordinate of the center let centerY = 200; // Initial Y-coordinate of the center const rotationSpeed = 0.01; // Speed of rotation in radians per frame (adjustable) const numCircles = 130; // Number of circles // Create circle overlay const circleOverlay = document.createElement('div'); circleOverlay.style.position = 'fixed'; circleOverlay.style.top = '0'; circleOverlay.style.left = '0'; circleOverlay.style.width = '100%'; circleOverlay.style.height = '100%'; circleOverlay.style.pointerEvents = 'none'; circleOverlay.style.zIndex = '9999'; circleOverlay.style.display = 'none'; // Function to rotate circles gradually function rotateCircles() { rotationAngle += rotationSpeed; const circles = circleOverlay.querySelectorAll('div'); circles.forEach((circle, index) => { const angle = rotationAngle + (index * (2 * Math.PI) / numCircles); const xOffset = circleRadius * Math.cos(angle); const yOffset = circleRadius * Math.sin(angle); circle.style.left = `${centerX + xOffset}px`; circle.style.top = `${centerY + yOffset}px`; }); } // Add circles with transparent background for (let i = 0; i < numCircles; i++) { const circle = document.createElement('div'); circle.style.position = 'absolute'; circle.style.width = `${circleRadius * 2}px`; circle.style.height = `${circleRadius * 2}px`; circle.style.borderRadius = '50%'; circle.style.backgroundColor = 'transparent'; // Transparent background circle.style.border = '1px solid #000'; // Circle border color circle.style.transition = 'transform 0.05s linear'; // Smooth transition for rotation circleOverlay.appendChild(circle); } document.addEventListener('keydown', function(event) { if (event.key.toLowerCase() === 'l') { if (!isOverlayVisible) { document.body.appendChild(circleOverlay); isOverlayVisible = true; circleOverlay.style.display = 'block'; rotationInterval = setInterval(rotateCircles, 100); // 100 milliseconds interval for smooth animation } else { document.body.removeChild(circleOverlay); isOverlayVisible = false; circleOverlay.style.display = 'none'; clearInterval(rotationInterval); } } }); })();