Greasy Fork

Greasy Fork is available in English.

银河奶牛放置-辅助增强

让你在使用插件的时候更方便?(what?)

< 脚本 银河奶牛放置-辅助增强 的反馈

评价:好评 - 脚本运行良好

§
发布于:2025-05-26

根据自己的需求做了个修改,显示还需要多少材料,点击数字复制,替换最后一个函数就可以

function onInputValueChange(value) {
console.log('动态input值变化:', value);
let itemInfoArr = [];
let needItemObj = needItemEle.children;
if (needItemObj.length > 3 && needItemObj.length % 4 == 0 && needItemObj[3].innerText.startsWith('需要:')) {
for (let i = 0; i < needItemObj.length; i++) {
if (i % 4 == 0) {
itemInfoArr.push([needItemObj[i]]);
} else {
itemInfoArr[itemInfoArr.length - 1].push(needItemObj[i]);
}
}
itemInfoArr.forEach(element => {
let additem = document.createElement('span');
let num = parseFloat(element[1].innerText.replace(/[^0-9.]/g, ''));
let inventory = parseFloat(element[0].innerText.replace(/[^0-9.]/g, ''));
if (isNaN(num)) {
num = 1;
}
if(isNaN(inventory)) {
inventory = 1;
}
const result = num * value - inventory;
if (result <= 0) {
element[3].innerHTML = `需要:已满足`
} else {
element[3].innerHTML = `需要:${result.toFixed(1)}个`;
// 添加指针样式表明可点击
element[3].style.cursor = 'pointer';
element[3].title = '点击复制';
// 添加点击复制功能
element[3].addEventListener('click', function() {
// 获取要复制的文本
const textToCopy = result.toFixed(1);
// 使用现代剪贴板API
navigator.clipboard.writeText(textToCopy)
.then(() => {
// 复制成功提示
const originalText = this.innerHTML;
this.innerHTML = '已复制!';

// 2秒后恢复原始文本
setTimeout(() => {
this.innerHTML = originalText;
}, 2000);
})
.catch(err => {
console.error('复制失败:', err);
// 如果现代API失败,使用老式方法
const textarea = document.createElement('textarea');
textarea.value = textToCopy;
document.body.appendChild(textarea);
textarea.select();
document.execCommand('copy');
document.body.removeChild(textarea);

// 提示用户
alert('已复制到剪贴板');
});
});
}
});
} else {
for (let i = 0; i < needItemObj.length; i++) {
if (i % 3 == 0) {
itemInfoArr.push([needItemObj[i]]);
} else {
itemInfoArr[itemInfoArr.length - 1].push(needItemObj[i]);
}
}
itemInfoArr.forEach(element => {
let additem = document.createElement('span');
let num = parseFloat(element[1].innerText.replace(/[^0-9.]/g, ''));
let inventory = parseFloat(element[0].innerText.replace(/[^0-9.]/g, ''));
if (isNaN(num)) {
num = 1;
}
if(isNaN(inventory)) {
inventory = 1;
}
const result = num * value - inventory;
if (result <= 0) {
additem.innerHTML = `需要:已满足`;
} else {
additem.innerHTML = `需要:${result.toFixed(1)}个`;
// 添加指针样式表明可点击
additem.style.cursor = 'pointer';
additem.title = '点击复制';
// 添加点击复制功能
additem.addEventListener('click', function() {
// 获取要复制的文本
const textToCopy = result.toFixed(1);
// 使用现代剪贴板API
navigator.clipboard.writeText(textToCopy)
.then(() => {
// 复制成功提示
const originalText = this.innerHTML;
this.innerHTML = '已复制!';

// 2秒后恢复原始文本
setTimeout(() => {
this.innerHTML = originalText;
}, 2000);
})
.catch(err => {
console.error('复制失败:', err);
// 如果现代API失败,使用老式方法
const textarea = document.createElement('textarea');
textarea.value = textToCopy;
document.body.appendChild(textarea);
textarea.select();
document.execCommand('copy');
document.body.removeChild(textarea);

// 提示用户
alert('已复制到剪贴板');
});
});
}
needItemEle.insertBefore(additem, element[2].nextSibling);
});
}

}

发布留言

登录以发布留言。