Настройки
Каждый эффект настраивается отдельно: шестерёнка рядом с его названием.
Пять эффектов наведения для ссылок и кнопок — перекат слова, перетекание букв, рисующееся подчёркивание, кнопка со стрелкой и кнопка-колесо. Настройки и готовый код.
Вставьте код в чат ИИ-агента и напишите: «Сделай мне такой эффект на сайте». Инструкция для агента уже внутри.
Каждый эффект настраивается отдельно: шестерёнка рядом с его названием.
Пять эффектов для меню, ссылок и кнопок. Включаются атрибутом на элементе, и их можно смешивать на одной странице:
data-word-roll) — слово уезжает вверх, а снизу выкатывается его бледная копия.data-char-roll) — то же самое, но буквы уезжают по очереди с небольшой задержкой, и слово «перетекает».data-underline) — линия прорисовывается под текстом слева направо, а когда курсор уходит, уезжает вправо. При быстром наведении она не скачет.data-arrow-button) — квадрат со стрелкой уезжает вправо, а надпись плавно встаёт по центру кнопки.data-wheel-button) — надпись уезжает по дуге большого колеса под кнопкой, а на её место приезжает копия.Перекат и подчёркивание подходят для главного меню, ссылок в подвале и навигации по разделам. Кнопки со стрелкой и колесом — для главных призывов к действию: «Смотреть проекты», «Оставить заявку». Лучше выбрать один-два эффекта на сайт и использовать их последовательно, тогда интерфейс выглядит цельным.
Через ИИ-агента — самый простой путь. Эти эффекты сделаны в первую очередь для тех, кто собирает сайт вместе с ИИ-агентом: Claude Code, Cursor или любым другим. Настройте эффект на примере выше, нажмите «Скопировать код» и вставьте его в чат агента с одной фразой: «Сделай мне такой эффект на сайте». В скопированном коде уже есть описание эффекта и инструкция для агента. Он сам перенесёт стили, разметку и скрипт, впишет их в вашу вёрстку и подставит ваши тексты и изображения. Ваши настройки сохранятся.
Если что-то нужно иначе, скажите агенту об этом теми же словами, что и человеку: «сделай на всю ширину экрана», «поставь под заголовком на главной», «замедли в два раза».
Вручную. Поставьте атрибуты на нужные элементы и вызовите функцию для общего контейнера, например для всей страницы:
<nav>
<a data-word-roll href="/services/">Услуги</a>
<a data-underline href="/contacts/">Контакты</a>
</nav>
<a class="button" data-arrow-button href="/projects/">
<span data-arrow-label>Смотреть проекты</span>
<span data-arrow-square>→</span>
</a>
createLinkHover(document.body, { wordDuration: 300, lineDuration: 600 });
Для переката внутри ссылки должен быть только текст. Копию слова скрипт рисует через text-shadow, поэтому разметка остаётся одной строкой текста. Код можно взять для всего набора кнопками под примером или для одного эффекта — через шестерёнку рядом с его названием.
У каждого эффекта своя длительность. Дополнительно настраиваются яркость копии слова, задержка между буквами, угол поворота колеса и задержка его копии, толщина подчёркивания в долях размера шрифта.
Фокус с клавиатуры работает так же, как наведение: эффект виден при переходе по Tab. Текст ссылок не дублируется в разметке, поэтому скринридер читает его один раз. При настройке «Уменьшить движение» анимации отключаются.
Можно ли ставить на <button>? Да, атрибуты работают и на ссылках, и на кнопках.
Нужно ли подключать все пять эффектов? Скрипт один на весь набор, неиспользуемые эффекты просто не включаются.