您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
spinny spin
// ==UserScript== // @name Project Random - wowee fun question marks // @namespace https://gf.qytechs.cn/en/users/945115-unmatchedbracket // @match https://0xbeef.co.uk/random* // @grant none // @version 1.0 // @author Unmatched Bracket // @description spinny spin // @license The Unlicense // ==/UserScript== function tickq(e) { //requestAnimationFrame(() => tickq(e)) if (mousepos) { let rect = e.getBoundingClientRect() let mouseRelX = (rect.left + rect.right) / 2 - mousepos.x let mouseRelY = (rect.top + rect.bottom) / 2 - mousepos.y let angleToMouse = Math.atan2(mouseRelY, mouseRelX)*180/Math.PI - 90 let diff = ((e.qdata.angle - angleToMouse) % 360 + 540) % 360 - 180 let dist = Math.hypot(mouseRelX, mouseRelY) e.qdata.momentum -= diff / Math.pow(Math.max(1, dist/50), 2) } let now = Date.now() let delta = now - e.qdata.lasttick e.qdata.lasttick = now e.qdata.momentum *= 0.95 e.qdata.momentum += Math.pow(Math.random(), 8)*25 e.qdata.angle += e.qdata.momentum*delta/1000 e.style.rotate = e.qdata.angle + "deg" } let qs = [...document.getElementsByClassName("mark")] let container = qs[0].parentElement.parentElement let mousepos = null container.addEventListener("mousemove", (e) => { mousepos = {x: e.pageX, y: e.pageY} }) container.addEventListener("mouseenter", (e) => { mousepos = {x: e.pageX, y: e.pageY} }) container.addEventListener("mouseleave", (e) => { mousepos = null }) qs.forEach((e) => { e.style.animation = "none" //e.style.transition = "rotate 0.2s linear" e.qdata = { angle: Math.random() * 360, momentum: Math.random() * 10 } e.qdata.lasttick = Date.now() }) function alltick() { requestAnimationFrame(alltick) qs.forEach((e) => tickq(e)) } alltick()
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址