您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
修仙小游戏脚本
// ==UserScript== // @name 我的文字修仙全靠刷 脚本 // @namespace http://tampermonkey.net/ // @version 4.3.1 // @description 修仙小游戏脚本 // @author mj // @match https://* // @icon https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net // @grant none // @license MIT // ==/UserScript== // 获取当前玩家对象player const myPlayer = document.querySelector('.game-container-wrapper').__vue__.$store.state.player // 获取当前路由对象 let currentRoutingObject = document.querySelector('.game-container-wrapper').__vue__.$router.currentRoute.matched[0].instances.default // 提示框 let myTips = currentRoutingObject.$notify // 定义多个用于存储定时器ID的变量 var intervalId1 = null; var intervalId2 = null; var intervalId3 = null; var intervalId5 = false; var attackInterval = null; var fightIntervalId = null; var restInterval = null; var restartIntervalId = null; var automaticSaleOfEquipmentId = null; var petIntervalId = null; var boosIntervalId = null; var boosStart = true; var buttonStatus1 = true ; var buttonStatus2 = true ; var buttonStatus3 = true ; let allPets = []; // 更新 allPets 数组的方法 const updateAllPets = () => { allPets = [ ...myPlayer.pets, myPlayer.pet ]; }; // 初始化 allPets updateAllPets(); // 监听 myPlayer.pets 的变化 document.querySelector('.game-container-wrapper').__vue__.$watch( () => myPlayer.pets, (newPets, oldPets) => { updateAllPets(); }, { deep: true } ); // 监听 myPlayer.pet 的变化 document.querySelector('.game-container-wrapper').__vue__.$watch( () => myPlayer.pet, (newPet, oldPet) => { updateAllPets(); }, { deep: true } ); // 定时将boosStart设置为true setInterval(() => { boosStart = true; }, 2 * 60 * 1000); // 清除所有定时器的函数 (function() { // 保存原始的 setInterval 方法 const originalSetInterval = window.setInterval; // 存储所有 setInterval ID 的数组 const intervalIds = []; // 重写 setInterval 方法 window.setInterval = function(callback, delay) { const id = originalSetInterval(callback, delay); intervalIds.push(id); return id; }; // 清除所有 setInterval 定时器的函数 function clearAllIntervals() { intervalIds.forEach(id => clearInterval(id)); intervalIds.length = 0; // 清空 intervalIds 数组 } // 将 clearAllIntervals 方法暴露到全局作用域 window.clearAllIntervals = clearAllIntervals; })(); // 获取指定路由对象返回组件实例 function specifyRoutingObject(path) { const routerOptions = document.querySelector('.game-container-wrapper').__vue__.$router.options.routes return routerOptions.find(route => route.path === path).component } // 根据文字点击按钮 function clickButton(buttonText) { let buttons = document.querySelectorAll("button"); for (let button of buttons) { if (button.innerText === buttonText) { button.click(); return true; } } return false; } // 通用的点击按钮并等待DOM结构更新的函数 function clickButtonAndWaitForDOMUpdate(buttonName, callback) { // 点击按钮 if (!clickButton(buttonName)) { console.error(`按钮 "${buttonName}" 未找到`); return; } // 创建一个MutationObserver实例来监听DOM变化 const observer = new MutationObserver((mutationsList, observer) => { for (let mutation of mutationsList) { if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { // 执行回调函数 callback(); // 停止观察 observer.disconnect(); break; } } }); // 开始观察目标节点的变化 observer.observe(document.body, { childList: true, subtree: true }); } // 路由监听函数 function createRouteListener(callback) { if (typeof callback !== 'function') { throw new Error('Callback must be a function'); } (function(history) { var pushState = history.pushState; var replaceState = history.replaceState; history.pushState = function(state, title, url) { var result = pushState.apply(history, arguments); window.dispatchEvent(new Event('pushstate')); window.dispatchEvent(new Event('locationchange')); return result; }; history.replaceState = function(state, title, url) { var result = replaceState.apply(history, arguments); window.dispatchEvent(new Event('replacestate')); window.dispatchEvent(new Event('locationchange')); return result; }; window.addEventListener('popstate', function(event) { window.dispatchEvent(new Event('locationchange')); }); })(window.history); window.addEventListener('locationchange', function() { // Adding a delay to ensure the Vue instance is fully updated setTimeout(function() { callback(window.location.pathname); }, 0); }); } createRouteListener(function() { var wrapper = document.querySelector('.game-container-wrapper'); if (wrapper && wrapper.__vue__) { currentRoutingObject = wrapper.__vue__.$router.currentRoute.matched[0].instances.default; } else { console.log('当前路由对象未定义'); } }); // 修炼函数 function cultivateUntilMax() { currentRoutingObject.startCultivate(); currentRoutingObject.startCultivate(); currentRoutingObject.startCultivate(); if(document.body.innerText.includes("当前境界修为已满")) { if (currentRoutingObject.stopCultivate) { currentRoutingObject.stopCultivate(); clearAllIntervals(); } clickButtonAndWaitForDOMUpdate("返回家里", () => { cultivateExplore(); }); } } // 修炼专用探索 function cultivateExplore() { clickButton("探索秘境"); function checkFightStatus() { if (document.body.innerText.includes("恭喜你突破了")) { clearAllIntervals(); document.querySelector('.game-container-wrapper').__vue__.$router.push('/') // 等待一段时间后查找最新按钮 setTimeout(() => { clickButtonAndWaitForDOMUpdate("开始修炼", () => { intervalId1 = setInterval(() => { cultivateUntilMax(); }, 1000); // 每隔0.1秒检查一次弹窗状态 }, 500)}); // 这里等待1秒,你可以根据实际情况调整时间 return; } if (document.body.innerText.includes("被击败")) { clickButtonAndWaitForDOMUpdate("回家疗伤", () => { clearInterval(fightIntervalId); // 停止定时器 clearInterval(automaticSaleOfEquipmentId); // 停止定时器 cultivateExplore(); } ); } else if (document.body.innerText.includes("你击败") || document.body.innerText.includes("你输了")) { clickButton("继续探索"); } else { if (currentRoutingObject.startFight) { currentRoutingObject.startFight(); } } } automaticSaleOfEquipmentId = setInterval(() => { myAutoSellEquipment(); console.log("自动出售装备功能已运行"); }, 5000); // 每隔5秒检查一次弹窗状态 fightIntervalId = setInterval(checkFightStatus, 100); // 每隔0.1秒检查一次状态 } // 自动出售装备函数 function myAutoSellEquipment() { // 获取玩家背包装备 const inventory = myPlayer.inventory; // 获取玩家装备出售设置 const sellingEquipmen = myPlayer.sellingEquipmentData; // 过滤出可以出售的装备 const selling = inventory.filter(item => sellingEquipmen.includes(item.quality) && !item.lock); // 检查是否有可售卖的装备 if (!selling.length) { return; } // 计算未锁定装备与选中出售品阶的等级总和 const strengtheningStoneTotal = selling.reduce((total, i) => { let level = i.level + i.level * myPlayer.reincarnation / 10; level = Number(level) || 0; return total + Math.floor(level); }, 0); // 增加炼器石数量 myPlayer.strengtheningStone += strengtheningStoneTotal; // 清空背包内所有未锁定装备与选中出售的品阶 myPlayer.inventory = inventory.filter(item => !sellingEquipmen.includes(item.quality) || item.lock); document.querySelector('.game-container-wrapper').__vue__.$store.commit('setPlayer', myPlayer); myTips({ title: '背包装备出售提示', message: `背包内所有非锁定装备已成功出售, 你获得了${strengtheningStoneTotal}个炼器石` }); } // 探索函数 function autoExplore() { function fightLoop() { clickButton("探索秘境"); function checkFightStatus() { if(myPlayer.level===40 && boosStart === true) { document.querySelector('.game-container-wrapper').__vue__.$router.push('/') clickButton("世界BOSS"); boosIntervalId = setInterval(fightBossAndCheck, 100); waitForIntervalToFinish(); return; } if (document.body.innerText.includes("被击败")) { clickButton("回家疗伤"); clearInterval(fightIntervalId); // 停止定时器 if (!restartIntervalId) { restartIntervalId = setInterval(() => { fightLoop(); clearInterval(restartIntervalId); restartIntervalId = null; }, 100); // 0.5秒后重新启动战斗 } } else if (document.body.innerText.includes("你击败")||document.body.innerText.includes("你输了")) { clickButton("继续探索"); } else { currentRoutingObject.startFight(); } } automaticSaleOfEquipmentId = setInterval(() => { myAutoSellEquipment(); }, 5000); // 每隔5秒检查一次弹窗状态 fightIntervalId = setInterval(checkFightStatus, 10); // 每隔0.1秒检查一次状态 } fightLoop(); // 启动战斗循环 } function waitForIntervalToFinish() { const checkInterval = setInterval(() => { if (boosStart === false) { clearInterval(checkInterval); // 清除监视器 autoExplore(); // 继续往下执行的函数 } }, 100); // 每隔100毫秒检查一次 } // 世界boss function fightBossAndCheck() { // 执行 fightBoss 操作 if (!currentRoutingObject.fightBoss){ return; } currentRoutingObject.fightBoss(); // 获取页面文本 let pageText = document.body.innerText; // 检查页面文本是否包含特定的字符串 if (pageText.includes("太弱被击败了") || pageText.includes("你击败") || pageText.includes("你输了") || pageText.includes("BOSS还未刷新") || boosStart === false) { // 如果包含,则点击回家疗伤按钮 clickButton("回家疗伤"); // 停止定时器 clearInterval(boosIntervalId); // 如果 boosStart 为 true,设置为 false boosStart = false; } } // 定义 autoPet() 函数 function autoPet() { // 检查玩家健康状态 if (myPlayer.health === 0) { document.querySelector('.game-container-wrapper').__vue__.$router.push('/'); return; // 返回首页后不再继续执行 } // 点击“探索秘境”按钮 clickButton("探索秘境") // 点击“收服对方”按钮 clickButton("收服对方") // 检查是否出现“失败”文字 if (document.body.innerText.includes("失败") ) { clickButton("发起战斗") } if (document.body.innerText.includes("你输了")) { clickButton("继续探索") } // 检查是否出现“成功”文字 const successText = document.body.innerText.includes("成功"); if (successText) { clickButton("继续探索") } // 检查是否出现“击败”文字 const defeatText = document.body.innerText.includes("击败"); if (defeatText) { clickButton("继续探索") } } // 定义一个函数来启动循环执行 autoPet() function startAutoPet() { // 使用 setInterval() 函数来循环执行 autoPet(),这里设定每隔 1000 毫秒(即1秒)执行一次 intervalId3 = setInterval(autoPet, 100); } // 初始化按钮的函数 function initializeButtons() { var gameContainer = document.querySelector('.game-container'); if (gameContainer) { gameContainer.style.position = "relative"; var buttonContainer = document.createElement("div"); buttonContainer.style.position = "absolute"; buttonContainer.style.top = "0px"; buttonContainer.style.left = "50%"; buttonContainer.style.transform = "translateX(-50%)"; buttonContainer.style.display = "flex"; buttonContainer.style.gap = "10px"; buttonContainer.style.zIndex = "9900"; buttonContainer.style.borderRadius = "10px"; var button1 = document.createElement("button"); button1.innerHTML = "修炼"; styleButton(button1); button1.onclick = function () { if (buttonStatus1 === true) { if (myPlayer.level === 40) { myTips({title:'修炼提示',message:"已经修炼到最高级,无法继续自动修炼!"}); return; } clickButton("开始修炼"); button1.innerHTML = "修炼"; disableOtherButtons(button2); disableOtherButtons(button3); disableOtherButtons(button4); disableOtherButtons(button5); buttonStatus1 = false; console.log("自动修炼功能正在运行"); myTips({title:'修炼提示',message:"自动修炼过程中会自动出售装备,请调整出售装备设置!"}); intervalId1 = setInterval(() => { cultivateUntilMax(); }, 100); // 每隔0.1秒检查一次弹窗状态 } else { intervalId1 = null; clearAllIntervals(); button1.innerHTML = "修炼"; enableAllButtons(button2); enableAllButtons(button3); enableAllButtons(button4); enableAllButtons(button5); buttonStatus1 = true; console.log("自动修炼功能已停止"); } }; var button2 = document.createElement("button"); button2.innerHTML = "探索"; styleButton(button2); button2.onclick = function () { if (buttonStatus2 === true) { intervalId2 = true; button2.innerHTML = "探索"; disableOtherButtons(button1); disableOtherButtons(button3); disableOtherButtons(button4); disableOtherButtons(button5); buttonStatus2 = false; console.log("自动探索功能正在运行"); myTips({title:'探索提示',message:"自动探索将自动出售装备,请调整出售装备设置!"}); currentRoutingObject.sellingEquipmentShow=true; const checkPopupInterval = setInterval(() => { if (!currentRoutingObject.sellingEquipmentShow) { autoExplore(); clearInterval(checkPopupInterval); // 停止检查弹窗状态 } }, 100); // 每隔0.1秒检查一次弹窗状态 } else { intervalId2 = null; clearAllIntervals(); button2.innerHTML = "探索"; document.querySelector('.game-container-wrapper').__vue__.$router.push('/') enableAllButtons(button1); enableAllButtons(button3); enableAllButtons(button4); enableAllButtons(button5); buttonStatus2 = true; console.log("自动探索功能已停止"); } }; var button3 = document.createElement("button"); button3.innerHTML = "收宠"; styleButton(button3); button3.onclick = function () { if (buttonStatus3 === true) { button3.innerHTML = "收宠"; disableOtherButtons(button1); disableOtherButtons(button2); disableOtherButtons(button4); disableOtherButtons(button5); buttonStatus3 = false; console.log("自动收宠功能正在运行"); myTips({title:'收宠提示',message:"自动收宠将自动出售装备,请调整出售装备设置!"}); currentRoutingObject.sellingEquipmentShow=true; const checkPopupInterval = setInterval(() => { if (!currentRoutingObject.sellingEquipmentShow ) { startAutoPet(); clearInterval(checkPopupInterval); // 停止检查弹窗状态 } }, 100); // 每隔0.1秒检查一次弹窗状态 } else { clearAllIntervals(); intervalId3 = null; button3.innerHTML = "收宠"; enableAllButtons(button1); enableAllButtons(button2); enableAllButtons(button4); enableAllButtons(button5); buttonStatus3 = true; console.log("自动收宠功能已停止"); } } // 增加自动放宠按钮 var button4 = document.createElement("button"); button4.innerHTML = "放宠"; styleButton(button4); button4.onclick = function () { let confirmRelease = confirm("确定要放生所有未出战灵宠吗?"); if (confirmRelease) { myPlayer.pets = []; document.querySelector('.game-container-wrapper').__vue__.$store.commit('setPlayer', myPlayer); myTips({title:'放宠提示',message:"已成功放生所有未出战灵宠!"}); return; } } // 增加灵宠榜按钮 var button5 = document.createElement("button"); button5.innerHTML = "灵宠榜"; styleButton(button5); var overlay = document.createElement("div"); overlay.style.display = "none"; // 默认隐藏遮罩层 overlay.style.position = "fixed"; overlay.style.top = "0"; overlay.style.left = "0"; overlay.style.width = "100%"; overlay.style.height = "100%"; overlay.style.backgroundColor = "rgba(0, 0, 0, 0.5)"; overlay.style.zIndex = "9998"; // 确保在最上层 // 创建弹框 var dialog = document.createElement("div"); dialog.style.position = "fixed"; dialog.style.top = "50%"; dialog.style.left = "50%"; dialog.style.transform = "translate(-50%, -50%)"; dialog.style.width = "300px"; dialog.style.maxHeight = "600px"; // 设置最大高度 dialog.style.padding = "20px"; dialog.style.backgroundColor = "white"; dialog.style.boxShadow = "0px 0px 15px rgba(0, 0, 0, 0.2)"; dialog.style.borderRadius = "5px"; dialog.style.zIndex = "10000"; // 在遮罩层之上 dialog.style.overflowY = "auto"; // 启用垂直滚动条 // 添加“灵宠榜”文字 var title = document.createElement("h4"); title.innerText = "灵宠榜"; title.style.textAlign = "center"; // 居中显示文字 title.style.marginBottom = "10px"; // 下方留出一定的空间 dialog.appendChild(title); // 创建排序按钮容器 var sortContainer = document.createElement("div"); sortContainer.style.display = "flex"; sortContainer.style.justifyContent = "space-around"; sortContainer.style.marginBottom = "10px"; // 创建排序按钮 function createStyledButton(text, onClickHandler) { var button = document.createElement("button"); button.innerText = text; button.style.padding = "5px 10px"; button.style.margin = "2px"; button.style.fontSize = "15px"; button.style.color = "#fff"; button.style.backgroundColor = "#007BFF"; button.style.border = "none"; button.style.borderRadius = "5px"; button.style.cursor = "pointer"; button.style.transition = "background-color 0.3s ease"; button.onmouseover = function() { button.style.backgroundColor = "#0056b3"; }; button.onmouseout = function() { button.style.backgroundColor = "#007BFF"; }; button.onclick = onClickHandler; return button; } var sortByTotal = createStyledButton("综合", function () { sortPets('total'); }); var sortByHealth = createStyledButton("生命值", function () { sortPets('health'); }); var sortByAttack = createStyledButton("攻击力", function () { sortPets('attack'); }); var sortByDefense = createStyledButton("防御力", function () { sortPets('defense'); }); // 将排序按钮添加到容器 sortContainer.appendChild(sortByTotal); sortContainer.appendChild(sortByHealth); sortContainer.appendChild(sortByAttack); sortContainer.appendChild(sortByDefense); // 将排序按钮容器添加到弹框 dialog.appendChild(sortContainer); // 宠物列表容器 var petListContainer = document.createElement("div"); dialog.appendChild(petListContainer); // 排序并显示宠物列表的函数 function sortPets(criteria) { // 排序逻辑 if (Array.isArray(allPets)) { allPets.sort(function (a, b) { if (criteria === 'total') { return (b.health + b.attack + b.defense) - (a.health + a.attack + a.defense); } else { return b[criteria] - a[criteria]; } }); } else { console.error("allPets is not an array."); } // 清空现有的宠物列表 petListContainer.innerHTML = ''; // 遍历排序后的allPets数组并显示元素 if (allPets.length > 0) { allPets.forEach(function(pet, index) { // 创建宠物信息容器 var petContainer = document.createElement("div"); petContainer.style.display = "flex"; petContainer.style.justifyContent = "space-between"; petContainer.style.alignItems = "center"; petContainer.style.marginBottom = "10px"; petContainer.style.padding = "5px"; petContainer.style.border = "1px solid #ccc"; petContainer.style.borderRadius = "5px"; // 宠物信息容器左侧 var petInfoContainer = document.createElement("div"); // 显示宠物名称 var petName = document.createElement("p"); petName.innerText = (index + 1) + ". " + pet.name; petName.style.fontWeight = "bold"; petInfoContainer.appendChild(petName); // 显示宠物属性 var petAttributes = document.createElement("p"); petAttributes.innerText = "生命值: " + pet.health + "\n" + "攻击力: " + pet.attack + "\n" + "防御力: " + pet.defense + "\n" + "闪避率: " + `${(pet.dodge * 100).toFixed(2)}%` + "\n" + "暴击率: " + `${(pet.critical * 100).toFixed(2)}%`; if(petAttributes.innerText.includes("NaN") || petAttributes.innerText.includes("undefined")) { return; } petAttributes.style.whiteSpace = "pre-line"; // 保持换行 petInfoContainer.appendChild(petAttributes); // 显示出战状态 if (pet === myPlayer.pet) { var battleStatus = document.createElement("p"); battleStatus.innerText = "状态: 已出战"; battleStatus.style.color = "green"; petInfoContainer.appendChild(battleStatus); } // 将宠物信息容器左侧添加到宠物信息容器 petContainer.appendChild(petInfoContainer); // 宠物信息容器右侧 var buttonsContainer = document.createElement("div"); // 创建放生按钮 var releaseButton = document.createElement("button"); releaseButton.innerText = "放生"; releaseButton.style.marginLeft = "10px"; releaseButton.style.padding = "5px 10px"; releaseButton.style.marginLeft = "10px"; releaseButton.style.padding = "5px 10px"; releaseButton.style.backgroundColor = "#dc3545"; releaseButton.style.color = "white"; releaseButton.style.border = "none"; releaseButton.style.borderRadius = "5px"; releaseButton.style.cursor = "pointer"; releaseButton.onmouseover = function() { releaseButton.style.backgroundColor = "#c82333"; }; releaseButton.onmouseout = function() { releaseButton.style.backgroundColor = "#dc3545"; }; releaseButton.onclick = function() { releasePet(pet); }; buttonsContainer.appendChild(releaseButton); // 创建出战按钮 var battleButton = document.createElement("button"); if (pet === myPlayer.pet) { battleButton.innerText = "已出战"; battleButton.disabled = true; battleButton.style.backgroundColor = "darkgray"; } else { battleButton.innerText = "未出战"; battleButton.style.backgroundColor = "#28a745"; battleButton.onclick = function() { switchBattlePet(pet); }; } battleButton.style.marginLeft = "10px"; battleButton.style.padding = "5px 10px"; battleButton.style.color = "white"; battleButton.style.border = "none"; battleButton.style.borderRadius = "5px"; battleButton.style.cursor = pet === myPlayer.pet ? "not-allowed" : "pointer"; battleButton.onmouseover = function() { if (!battleButton.disabled) { battleButton.style.backgroundColor = "#218838"; } }; battleButton.onmouseout = function() { if (!battleButton.disabled) { battleButton.style.backgroundColor = "#28a745"; } }; buttonsContainer.appendChild(battleButton); // 将按钮容器添加到宠物信息容器 petContainer.appendChild(buttonsContainer); // 将宠物信息容器添加到弹框 petListContainer.appendChild(petContainer); }); } else { var noPets = document.createElement("p"); noPets.innerText = "当前没有灵宠。"; noPets.style.textAlign = "center"; noPets.style.color = "gray"; petListContainer.appendChild(noPets); } } function releasePet(pet) { if (pet === myPlayer.pet) { myPlayer.pet = {}; } else { var index = myPlayer.pets.indexOf(pet); if (index !== -1) { myPlayer.pets.splice(index, 1); } } sortPets('total'); } function switchBattlePet(newPet) { var oldPet = myPlayer.pet; myPlayer.pet = newPet; if (oldPet && Object.keys(oldPet).length > 0) { myPlayer.pets.push(oldPet); } var index = myPlayer.pets.indexOf(newPet); if (index !== -1) { myPlayer.pets.splice(index, 1); } sortPets('total'); } // 默认按综合排序 sortPets('total'); // 创建关闭按钮 var closeButton = document.createElement("span"); closeButton.innerHTML = "×"; closeButton.style.position = "absolute"; closeButton.style.top = "10px"; closeButton.style.right = "10px"; closeButton.style.cursor = "pointer"; closeButton.style.fontSize = "20px"; // 将关闭按钮添加到弹框 dialog.appendChild(closeButton); // 将弹框和遮罩层添加到body overlay.appendChild(dialog); document.body.appendChild(overlay); button5.onclick = function () { sortPets('total'); if (overlay.style.display === "block") { overlay.style.display = "none"; enableAllButtons(button1); enableAllButtons(button2); enableAllButtons(button3); enableAllButtons(button4); } else { overlay.style.display = "block"; disableOtherButtons(button1); disableOtherButtons(button2); disableOtherButtons(button3); disableOtherButtons(button4); } } overlay.onclick = function (event) { if (event.target === overlay || event.target === closeButton) { overlay.style.display = "none"; enableAllButtons(button1); enableAllButtons(button2); enableAllButtons(button3); enableAllButtons(button4); } } buttonContainer.appendChild(button1); buttonContainer.appendChild(button2); buttonContainer.appendChild(button3); buttonContainer.appendChild(button4); buttonContainer.appendChild(button5); gameContainer.appendChild(buttonContainer); myTips({title:'脚本初始化',message:"脚本初始化成功!",type:"success"}); } else { myTips({title:'脚本初始化',message:"脚本初始化失败,请刷新页面后重试!",type:"error"}); } } function styleButton(button) { button.style.padding = "5px 10px"; button.style.border = "none"; button.style.borderRadius = "5px"; button.style.backgroundColor = "#007bff"; button.style.color = "white"; button.style.fontSize = "16px"; // button.style.cursor = "pointer"; // button.style.transition = "background-color 0.3s, transform 0.3s"; // button.onmouseover = function() { // if (!button.disabled) { // button.style.backgroundColor = "#0056b3"; // } // }; // button.onmouseout = function() { // if (!button.disabled) { // button.style.backgroundColor = "#007bff"; // } // }; // button.onmousedown = function() { // if (!button.disabled) { // button.style.backgroundColor = "#004494"; // } // }; // button.onmouseup = function() { // if (!button.disabled) { // button.style.backgroundColor = "#0056b3"; // } // }; } function disableOtherButtons(activeButton) { activeButton.disabled = true; activeButton.style.backgroundColor = "darkgray"; activeButton.style.cursor = "not-allowed"; } function enableAllButtons(activeButton) { activeButton.disabled = false; activeButton.style.backgroundColor = "#007bff"; activeButton.style.cursor = "pointer"; } initializeButtons();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址