您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Создание подсказки к заблокированным средствам по ордерам при наведении на сообщение о блокировке
当前为
// ==UserScript== // @name ByBit Tooltip Creator // @namespace CryptOf // @license MIT // @version 1.0 // @description Создание подсказки к заблокированным средствам по ордерам при наведении на сообщение о блокировке // @author Stafex // @match https://www.bybit.com/fiat/trade/otc/orderList/?orderType* // @grant none // ==/UserScript== (function () { 'use strict'; // Создание элемента для всплывающей подсказки const tooltip = document.createElement('div'); tooltip.style.position = 'absolute'; tooltip.style.padding = '10px'; tooltip.style.background = '#333'; tooltip.style.color = '#fff'; tooltip.style.borderRadius = '5px'; tooltip.style.display = 'none'; tooltip.style.transition = 'opacity 0.3s'; tooltip.style.zIndex = '1000'; tooltip.style.lineHeight = '140%'; document.body.appendChild(tooltip); let unlockDate; // Функция для создания всплывающих подсказок function createTooltip(element, text) { const splitText = text.split(' до '); unlockDate = new Date(splitText[1]); tooltip.style.opacity = '1'; tooltip.style.display = 'block'; const rect = element.getBoundingClientRect(); tooltip.style.left = window.scrollX + rect.left + 'px'; tooltip.style.top = window.scrollY + rect.top - tooltip.offsetHeight - 10 + 'px'; updateTooltip(); // Обновляем подсказку сразу же при создании } // Функция для обновления всплывающих подсказок function updateTooltip() { if (tooltip.style.display !== 'none') { const now = new Date(); const diffMs = unlockDate - now; const diffHrs = Math.floor((diffMs % 86400000) / 3600000); const diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000); const diffSecs = Math.round((((diffMs % 86400000) % 3600000) % 60000) / 1000); const unlockDateString = ('0' + unlockDate.getDate()).slice(-2) + '.' + ('0' + (unlockDate.getMonth() + 1)).slice(-2) + '.' + (unlockDate.getFullYear() % 100) + ' ' + ('0' + unlockDate.getHours()).slice(-2) + ':' + ('0' + unlockDate.getMinutes()).slice(-2) + ':' + ('0' + unlockDate.getSeconds()).slice(-2) + ' (GMT+' + (unlockDate.getTimezoneOffset() / -60) + ')'; tooltip.innerHTML = 'Монеты заблокированы до<br>' + unlockDateString + '<br>Осталось ' + diffHrs.toString().padStart(2, '0') + ':' + diffMins.toString().padStart(2, '0') + ':' + diffSecs.toString().padStart(2, '0'); } } // Отслеживание наведения мыши на элементы document.body.addEventListener('mouseover', function (event) { if (event.target.matches('.withdrawTips, .withdrawTipsText')) { const withdrawTipsElement = event.target.closest('.withdrawTips'); if (withdrawTipsElement) { const textElement = withdrawTipsElement.querySelector('.withdrawTipsText'); if (textElement) { createTooltip(withdrawTipsElement, textElement.textContent); } } } }); // Отслеживание ухода мыши с элемента для скрытия всплывающей подсказки document.body.addEventListener('mouseout', function (event) { if (event.target.matches('.withdrawTips, .withdrawTipsText')) { tooltip.style.opacity = '0'; setTimeout(function () { tooltip.style.display = 'none'; }, 300); } }); // Обновление всплывающей подсказки каждую секунду setInterval(updateTooltip, 1000); })();