Для начала работы с Tooltipster необходимо подключить саму библиотеку и её стили. Минимальный набор включает:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tooltipster@4.2.8/dist/css/tooltipster.bundle.min.css" />
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/tooltipster@4.2.8/dist/js/tooltipster.bundle.min.js"></script>
Обратите внимание, что Tooltipster требует jQuery, поэтому его подключение обязательно до скрипта самой библиотеки.
Для создания базового всплывающего подсказки используется метод
.tooltipster():
$(document).ready(function() {
$('.tooltip').tooltipster();
});
Здесь все элементы с классом .tooltip автоматически
получают подсказки. По умолчанию Tooltipster использует стандартные
настройки: анимация fade, задержка появления
300ms и направление подсказки top.
Содержимое можно задавать через HTML-атрибут title:
<button class="tooltip" title="Это подсказка">Наведи на меня</button>
Или динамически через Jav * aScript:
$('.tooltip').tooltipster({
content: $('<span>Динамический контент</span>'),
animation: 'fade',
delay: 200,
theme: 'tooltipster-default'
});
content может быть текстом, HTML-элементом или
jQuery-объектом.contentAsHTML: true.| Параметр | Описание | Значение по умолчанию |
|---|---|---|
animation |
Тип анимации появления | 'fade' |
delay |
Задержка перед показом, мс | 300 |
theme |
CSS-тема для подсказки | 'tooltipster-default' |
trigger |
Событие, вызывающее подсказку (hover,
click, custom) |
'hover' |
interactive |
Разрешение взаимодействия с содержимым подсказки | false |
side |
Направление отображения подсказки (top,
bottom, left, right) |
'top' |
maxWidth |
Максимальная ширина подсказки | 350px |
Пример использования нескольких опций одновременно:
$('.tooltip').tooltipster({
content: 'Расширенный пример подсказки',
animation: 'grow',
delay: 100,
side: 'right',
maxWidth: 200,
theme: 'tooltipster-light'
});
Tooltipster предоставляет методы для управления через API:
var instance = $('.tooltip').tooltipster().tooltipster('instance');
// Показать подсказку
instance.show();
// Скрыть подсказку
instance.hide();
// Изменить содержимое
instance.content('Новое содержимое');
// Уничтожить подсказку
instance.destroy();
instance нужен для работы с конкретным элементом,
особенно если требуется динамическое обновление контента или настройка
интерактивных элементов.Можно подключить одну конфигурацию к нескольким элементам:
$('.tooltip-multiple').tooltipster({
theme: 'tooltipster-shadow',
animation: 'swing',
delay: 150
});
Все элементы с классом .tooltip-multiple будут
использовать одинаковые настройки, что упрощает поддержку кода при
большом количестве подсказок на странице.
Tooltipster позволяет указывать параметры прямо в разметке:
<button class="tooltip" title="Подсказка с атрибутами" data-side="bottom" data-animation="fade" data-delay="500">
Кнопка
</button>
Подключение через JavaScript учитывает эти атрибуты автоматически при
вызове $('.tooltip').tooltipster();.
<button class="tooltip" title="Пример подсказки">Наведи</button>
<script>
$(document).ready(function() {
$('.tooltip').tooltipster({
theme: 'tooltipster-light',
animation: 'fade',
delay: 250,
side: 'top'
});
});
</script>
Этот код создаёт простую инициализацию с минимальными настройками, демонстрируя основные возможности библиотеки: подключение, конфигурацию и управление подсказкой через API.