Для использования Tooltipster необходимо подключить библиотеку и её
CSS-файлы. Обычно это делается через <link> и
<script>:
<link rel="stylesheet" href="tooltipster.bundle.min.css" />
<script src="jquery.min.js"></script>
<script src="tooltipster.bundle.min.js"></script>
После подключения элементов можно инициализировать тултипы на выбранных элементах с помощью jQuery:
$('.tooltip').tooltipster();
По умолчанию Tooltipster применяет простую анимацию и стандартное поведение появления тултипа при наведении.
Содержимое тултипа можно задавать различными способами:
$('.tooltip').tooltipster({
content: 'Простой текст тултипа'
});
$('.tooltip-html').tooltipster({
content: $('<span style="color:red">HTML-тултип</span>'),
allowHTML: true
});
Использование HTML позволяет добавлять стилизованные элементы,
изображения или ссылки. Параметр allowHTML обязательно
должен быть установлен в true.
$('.tooltip-dynamic').tooltipster({
content: 'Загрузка...',
functionBefore: function(instance, helper){
// Динамическая генерация контента
var $origin = $(helper.origin);
var dynamicContent = 'Дата: ' + new Date().toLocaleTimeString();
instance.content(dynamicContent);
}
});
Tooltipster поддерживает несколько типов триггеров:
hover – появляется при наведении мыши.click – появляется при клике на элемент.custom – управление показом и скрытием вручную.Пример:
$('.tooltip-click').tooltipster({
trigger: 'click'
});
Для полного контроля можно использовать
trigger: 'custom' и методы API:
var instance = $('.tooltip-manual').tooltipster().tooltipster('instance');
instance.show(); // Показать тултип
instance.hide(); // Скрыть тултип
Tooltipster предоставляет несколько встроенных анимаций:
fadegrowswingslide$('.tooltip-animate').tooltipster({
animation: 'grow',
animationDuration: 300
});
Темы позволяют быстро менять визуальное оформление тултипа. Например:
$('.tooltip-theme').tooltipster({
theme: 'tooltipster-light'
});
Можно создавать свои темы через CSS, переопределяя стили
.tooltipster-*.
Tooltipster автоматически рассчитывает позицию, но её можно зафиксировать или ограничить:
$('.tooltip-position').tooltipster({
side: ['top', 'bottom', 'right', 'left'],
distance: 10
});
Параметр side принимает массив, в котором перечислены
допустимые стороны появления тултипа. Tooltipster будет выбирать первую
доступную сторону, где тултип помещается в окне.
distance определяет расстояние между тултипом и
элементом.
Tooltipster предоставляет обширный набор событий для кастомного поведения:
show – вызывается перед показом тултипа.shown – вызывается после появления.hide – вызывается перед скрытием.hidden – вызывается после скрытия.position – вызывается при вычислении позиции
тултипа.Пример использования события shown:
$('.tooltip-events').tooltipster({
functionAfter: function(instance, helper){
console.log('Тултип появился на элементе', helper.origin);
}
});
Tooltipster легко интегрируется с AJAX-запросами:
$('.tooltip-ajax').tooltipster({
content: 'Загрузка...',
functionBefore: function(instance, helper){
if (!instance.data('loaded')) {
$.get('/tooltip-data', function(data){
instance.content(data);
instance.data('loaded', true);
});
}
}
});
Такой подход позволяет загружать данные только один раз и обновлять контент динамически.
Для контроля размеров тултипа можно использовать CSS-свойства или параметры Tooltipster:
$('.tooltip-size').tooltipster({
maxWidth: 300,
minWidth: 100,
contentAsHTML: true
});
maxWidth и minWidth ограничивают ширину
тултипа. Параметр contentAsHTML позволяет применять HTML
внутри ограниченного блока.
Ключевые методы:
content(newContent) – получить или изменить
содержимое.open() / show() – показать тултип.close() / hide() – скрыть тултип.destroy() – полностью удалить тултип с элемента.reposition() – пересчитать позицию тултипа.Пример:
var tooltip = $('.tooltip-api').tooltipster().tooltipster('instance');
tooltip.content('Новый контент');
tooltip.show();
Для элементов, добавленных динамически после загрузки страницы, необходимо использовать делегирование:
$(document).on('mouseenter', '.dynamic-tooltip', function(){
$(this).tooltipster({
content: 'Динамический тултип'
});
});
Такой подход гарантирует, что каждый новый элемент получит корректный тултип при наведении.
Tooltipster обеспечивает гибкую настройку, поддержку HTML и AJAX, удобный API и события, что делает его мощным инструментом для улучшения взаимодействия с пользователем на страницах с JavaScript.