您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Создание подсказки к заблокированным средствам по ордерам при наведении на сообщение о блокировке
当前为
- // ==UserScript==
- // @name ByBit Tooltip Creator
- // @namespace CryptOf
- // @license MIT
- // @version 1.0
- // @description Создание подсказки к заблокированным средствам по ордерам при наведении на сообщение о блокировке
- // @author Евгений Мухин
- // @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);
- })();