Всплывающие подсказки
Реализуйте библиотеку для создания всплывающих подсказок на сайте.
Основные возможности проекта
- Библиотека для создания всплывающих подсказок (tooltips).
- Поддержка разных позиций (сверху, снизу, слева, справа).
- Анимация появления/исчезновения.
- Кастомизация через параметры.
- Публикация на GitHub с документацией.
Функциональность библиотеки
Библиотека должна предоставлять следующие возможности:
- Появление подсказки при наведении на элемент.
- Подсказка может содержать текст, HTML-разметку или иконки.
- Автоматическое позиционирование (если не хватает места, подсказка появляется с другой стороны).
- Анимация появления (плавное появление, затухание).
Параметры настройки
При инициализации или через атрибуты можно задавать:
- position - позиция подсказки (top, bottom, left, right).
- delay - задержка перед появлением (в миллисекундах).
- duration - длительность анимации (в миллисекундах).
- theme - тема оформления (light, dark).
- animation - тип анимации (fade, slide).
Использование библиотеки
Пример использования библиотеки:
- Подключить CSS-файл со стилями подсказок.
- Подключить JS-файл с библиотекой.
- Добавить атрибут data-tooltip="текст подсказки" к элементу.
- Инициализировать библиотеку.
Автоматическое позиционирование
Если подсказка не помещается в выбранной позиции (например, выходит за границы экрана), она должна автоматически показываться с другой стороны. Например, если подсказка сверху не помещается, она появляется снизу.
Публикация на GitHub
Библиотека должна быть выложена на GitHub с:
- README.md с описанием и инструкцией по установке.
- Демо-страницей с примерами использования.
- Исходным кодом библиотеки.
Тестирование
Библиотека должна быть протестирована на:
- Разных браузерах (Chrome, Firefox, Safari, Edge).
- Разных позициях и автоматическом позиционировании.
- Разных типах контента (текст, HTML, иконки).
Дополнительные возможности
- Подсказки с интерактивным содержимым (ссылки, кнопки).
- Возможность закрыть подсказку по клику.
- Подсказка с задержкой исчезновения после ухода мыши.