您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A simple dragging helper library
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/428694/945686/CKDragHelper.js
- // ==UserScript==
- // @name CKDragHelper
- // @namespace dragger.ckylin.site
- // @version 0.1
- // @author CKylinMC
- // @grant unsafeWindow
- // @license GPLv3 License
- // ==/UserScript==
- if(!("wait" in window)){
- window.wait = (t) => {
- return new Promise(r => setTimeout(r, t));
- }
- }
- const dragger = {
- defaultHandler: (val) => console.log("DRAG:", val),
- waitForDragger: async (waitStatus = true) => {
- while (dragger.dragging !== waitStatus) await wait(10);
- return dragger;
- },
- regHandler: async (func) => {
- if (!(func instanceof Function)) throw "Param must be a func!";
- await dragger.waitForDragger(false);
- dragger.handler = func;
- return dragger;
- },
- handler: () => {
- },
- dragging: false,
- initialDragData: {
- x: 0,
- y: 0
- },
- lastDragData: {
- x: 0,
- y: 0
- },
- startDrag: (e) => {
- if (dragger.dragging) return;
- dragger.dragging = true;
- console.log(dragger.initialDragData);
- dragger.initialDragData.x = e.screenX;
- dragger.initialDragData.y = e.screenY;
- dragger.lastDragData.x = e.screenX;
- dragger.lastDragData.y = e.screenY;
- document.body.addEventListener("mouseup", dragger.stopDrag);
- document.body.addEventListener("mousemove", dragger.handleDrag);
- console.info("DRAG:", "Start Drag");
- return dragger;
- },
- handleDrag: (e) => {
- const currPos = {
- x: e.screenX,
- y: e.screenY
- };
- const initPos = dragger.initialDragData;
- const delta = {
- x: initPos.x - currPos.x,
- y: initPos.y - currPos.y
- }
- const lastdelta = {
- x: dragger.lastDragData.x - currPos.x,
- y: dragger.lastDragData.y - currPos.y
- }
- dragger.lastDragData = currPos;
- dragger.handler(delta, lastdelta);
- },
- stopDrag: () => {
- document.body.removeEventListener("mouseup", dragger.stopDrag);
- document.body.removeEventListener("mousemove", dragger.handleDrag);
- dragger.handler = dragger.defaultHandler;
- console.info("DRAG:", "Stop Drag");
- dragger.dragging = false;
- return dragger;
- },
- }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址