Tooltipster предоставляет гибкий механизм настройки всплывающих подсказок через объект опций при инициализации. Основной синтаксис инициализации выглядит следующим образом:
$('.tooltip').tooltipster({
content: 'Пример текста',
animation: 'fade',
delay: 200,
theme: 'tooltipster-light'
});
Здесь $('.tooltip') — это селектор элементов, к которым
применяется Tooltipster. Параметры передаются в виде объекта, где ключи
соответствуют именам опций, а значения — их конфигурации.
'fade', 'grow', 'swing',
'slide'.'hover', 'click', 'custom'.true/false), позволяя взаимодействовать с её
содержимым.Пример с интерактивной подсказкой и HTML-контентом:
$('.tooltip').tooltipster({
content: $('<span>Нажмите <a href="#">сюда</a></span>'),
interactive: true,
theme: 'tooltipster-shadow',
animation: 'grow'
});
Tooltipster поддерживает передачу параметров через функции, что позволяет создавать подсказки с динамическим содержимым. Например, содержимое подсказки может меняться в зависимости от атрибутов элемента:
$('.tooltip').tooltipster({
content: function(instance, helper) {
return $(helper.origin).data('tooltip-text');
},
delay: 100,
theme: 'tooltipster-noir'
});
Параметр helper.origin содержит DOM-элемент, к которому
привязана подсказка. Такой подход позволяет использовать одну
конфигурацию для множества элементов с уникальным содержимым.
Tooltipster позволяет управлять позицией подсказки с помощью опций
side, distance и
functionPosition:
'top', 'bottom',
'left', 'right'.$('.tooltip').tooltipster({
side: 'top',
distance: 10,
functionPosition: function(instance, helper, position){
position.coord.left += 20;
position.coord.top -= 5;
return position;
}
});
Функция functionPosition принимает объект
position с координатами подсказки и позволяет программно
смещать её положение.
Для элементов, к которым привязываются разные подсказки с уникальными параметрами, можно использовать объект с ключами:
$('.tooltip').each(function() {
$(this).tooltipster({
content: $(this).data('tooltip-content'),
theme: $(this).data('tooltip-theme') || 'tooltipster-default',
animation: 'fade',
delay: parseInt($(this).data('tooltip-delay')) || 200
});
});
Такой способ обеспечивает индивидуальные настройки для каждой подсказки без дублирования кода.
$('.tooltip').tooltipster({
content: 'Готово!',
functionReady: function(instance, helper){
console.log('Подсказка отображена для элемента', helper.origin);
}
});
Tooltipster поддерживает инициализацию с данными, указанными в
HTML-атрибутах data-tooltip-content,
data-tooltip-theme и др.:
<button class="tooltip" data-tooltip-content="Содержимое" data-tooltip-theme="tooltipster-punk">
Наведи на меня
</button>
<script>
$('.tooltip').tooltipster();
</script>
В этом случае библиотека автоматически считывает значения атрибутов и применяет их как параметры инициализации.
Опции Tooltipster можно комбинировать, создавая комплексные подсказки с уникальным поведением, динамическим содержимым и индивидуальной визуальной стилизацией:
$('.tooltip').tooltipster({
content: 'Пример комплексной подсказки',
animation: 'swing',
delay: 150,
theme: 'tooltipster-light',
interactive: true,
side: 'bottom',
distance: 12,
maxWidth: 300,
multiple: true
});
Такой подход обеспечивает полную гибкость при передаче параметров и позволяет создавать профессиональные, настраиваемые подсказки для любых веб-интерфейсов.