您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Enhance forum UI with animations and effects
// ==UserScript== // @name Forum Enhancement // @namespace http://tampermonkey.net/ // @version 1.16 // @description Enhance forum UI with animations and effects // @match https://lolz.live/* // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; // Основные стили GM_addStyle(` /* Основные категории */ .nodeTitle { transition: background-color 0.3s ease, color 0.3s ease, border-bottom 0.3s ease; position: relative; padding-bottom: 2px; border-bottom: 2px solid transparent; } .nodeTitle:hover, .nodeTitle.active { background-color: rgba(0, 186, 120, 0.1); color: rgb(0, 186, 120); border-bottom: 2px solid rgb(0, 186, 120); } /* Плавное изменение цвета текста подкатегорий при наведении */ .node { transition: color 0.3s ease; } .node:hover { color: rgb(0, 186, 120); } .nodeTitle.active ~ .node { color: rgb(0, 186, 120); } /* Стиль для стрелки */ .node .nodeTitle .expandSubForumList { position: absolute; right: 7px; top: 2px; font-size: 16px; z-index: 5; color: rgb(82, 80, 80); width: 30px; text-align: center; line-height: 32px; height: 32px; opacity: 0; transition: .2s; } /* Отображение стрелки при наведении на блок */ .node:hover .nodeTitle .expandSubForumList, .nodeTitle.active .expandSubForumList { opacity: 1; } /* Стили для кнопки "Создать тему" */ .CreateThreadButton { display: inline-block; background-color: rgb(34, 142, 93); /* Цвет кнопки */ color: white; font-size: 13px; /* Размер шрифта */ font-weight: bold; text-align: center; text-decoration: none; cursor: pointer; position: relative; overflow: hidden; transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease; line-height: 34px; /* Высота строки для центрирования текста */ border-radius: 8px; height: 34px; /* Высота кнопки */ border: none; /* Убираем границу, если она есть */ padding: 0; /* Убираем padding */ } .CreateThreadButton:hover { background-color: rgb(26, 114, 67); /* Темный оттенок вашего цвета */ transform: scale(1.05); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); } .CreateThreadButton::before { content: ""; position: absolute; top: 0; left: -100%; height: 100%; width: 100%; background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%); transition: transform 0.5s ease; z-index: 1; transform: translateX(-100%); } .CreateThreadButton:hover::before { transform: translateX(100%); } .CreateThreadButton span { position: relative; z-index: 2; } /* Стили для иконки лайка */ .LikeLink { position: relative; display: inline-block; } .LikeLink .icon.like2Icon { fill: rgb(140, 140, 140); transition: fill 0.3s ease, transform 0.2s ease; } .LikeLink:hover .icon.like2Icon { transform: scale(1.2); } .LikeLink:active .icon.like2Icon { transform: scale(0.9); animation: confetti 0.6s ease forwards; } @keyframes confetti { 0% { fill: rgb(140, 140, 140); } 50% { fill: rgb(34, 142, 93); transform: scale(1.2); } 100% { fill: rgb(34, 142, 93); transform: scale(1); } } /* Стили для иконки счетчика лайков */ .likeCounterIcon { fill: rgb(140, 140, 140); /* Цвет по умолчанию */ transition: fill 0.3s ease, transform 0.2s ease; position: relative; display: inline-block; } .likeCounterIcon:hover { transform: scale(1.2); } .likeCounterIcon:active { transform: scale(0.9); animation: confetti 0.6s ease forwards; } /* Стили для логотипа */ #lzt-logo { display: inline-block; transition: transform 0.2s ease; } #lzt-logo:active { transform: scale(0.95); } /* Стили для сообщения Redirect */ .redirect-message { position: fixed; top: 10px; right: 10px; background-color: rgba(0, 186, 120, 0.9); color: white; padding: 10px 20px; border-radius: 5px; font-size: 16px; font-weight: bold; display: none; z-index: 9999; display: flex; align-items: center; } .redirect-message .loading-bar { margin-left: 10px; border: 2px solid white; border-radius: 5px; width: 100px; height: 6px; position: relative; overflow: hidden; } .redirect-message .loading-bar::before { content: ""; position: absolute; top: 0; left: -100%; height: 100%; width: 100%; background-color: white; animation: loading-bar 2s linear infinite; } @keyframes loading-bar { 0% { left: -100%; } 50% { left: 0; } 100% { left: 100%; } } /* Анимация тележки */ .cart-animation { position: absolute; top: 0; left: 0; width: 40px; height: 40px; background-image: url('https://lzt.market/styles/market/logo_by_DaWeed_X_KASTE.svg'); background-size: cover; animation: moveCart 1s ease-in-out infinite; } @keyframes moveCart { 0% { transform: translateX(-50px); } 50% { transform: translateX(10px); } 100% { transform: translateX(-50px); } } `); // Функция для отображения сообщения Redirect function showRedirectMessage(redirectUrl, showCart = false) { const message = document.createElement('div'); message.className = 'redirect-message'; message.innerHTML = ` Redirecting... <div class="loading-bar"></div> ${showCart ? '<div class="cart-animation"></div>' : ''} `; document.body.appendChild(message); message.style.display = 'flex'; // Перенаправление через короткую задержку, чтобы сообщение успело отобразиться setTimeout(() => { window.location.href = redirectUrl; }, 300); // Задержка 300 мс } // Обработчик для клика на ссылку "Маркет" document.querySelector('a[href="https://lzt.market"]').addEventListener('click', function(event) { event.preventDefault(); // Отменяем стандартное действие перехода по ссылке showRedirectMessage('https://lzt.market', true); // Показываем сообщение с анимацией тележки }); // Восстановление прежнего кода для логотипа document.getElementById('lzt-logo').addEventListener('click', function(event) { event.preventDefault(); // Отменяем стандартное действие перехода по ссылке showRedirectMessage('https://lolz.live/'); // Показываем сообщение без анимации тележки }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址