Tooltipster — это мощная библиотека для создания кастомизированных тултипов в JavaScript. Одной из важных возможностей является поддержка множественных открытых тултипов, что позволяет одновременно отображать несколько всплывающих подсказок на странице, не ограничиваясь одним активным элементом. Это особенно полезно при интерфейсах с динамическими списками, формами и интерактивными таблицами.
По умолчанию Tooltipster закрывает предыдущий тултип при открытии нового. Чтобы разрешить несколько одновременно открытых подсказок, необходимо установить опцию:
$('.tooltip').tooltipster({
multiple: true,
theme: 'tooltipster-shadow',
animation: 'fade',
delay: 200,
});
tooltipster-default) или кастомной.Tooltipster предоставляет методы для явного управления тултипами:
open() — открыть тултип программно.close() — закрыть тултип.destroy() — удалить тултип и вернуть элемент в исходное
состояние.content() — получить или изменить содержимое
тултипа.Пример с несколькими тултипами:
$('#element1').tooltipster({ multiple: true }).tooltipster('open');
$('#element2').tooltipster({ multiple: true }).tooltipster('open');
В этом примере оба тултипа будут открыты одновременно, независимо от того, какой элемент был активирован последним.
Tooltipster генерирует события, которые позволяют отслеживать открытие и закрытие подсказок:
$('.tooltip').on('tooltipster:show', function(event) {
console.log('Тултип открыт:', event.target);
});
$('.tooltip').on('tooltipster:close', function(event) {
console.log('Тултип закрыт:', event.target);
});
Эти события полезны для синхронизации состояния интерфейса, динамической подгрузки содержимого или изменения внешнего вида активных элементов.
Для множественных тултипов особенно актуально использование динамического контента:
$('.tooltip').tooltipster({
multiple: true,
content: 'Загрузка...',
functionBefore: function(instance, helper) {
setTimeout(function() {
instance.content('Данные загружены');
}, 1000);
}
});
Для удобства управления множественными открытыми подсказками можно использовать группы:
$('.tooltip').tooltipster({
multiple: true,
group: 'forms'
});
При множественных тултипах важно учитывать перекрытие элементов и позицию:
$('.tooltip').tooltipster({
multiple: true,
side: ['top', 'right', 'bottom', 'left'],
distance: 10,
functionPosition: function(instance, helper, position) {
// дополнительная логика корректировки позиции
return position;
}
});
multiple: true вместе с группами, чтобы избежать хаотичного
отображения нескольких подсказок.functionBefore или updateContent, чтобы
предотвратить «мигание» тултипов.Множественные открытые тултипы в Tooltipster обеспечивают гибкость интерфейса и позволяют создавать богатые интерактивные элементы, управляемые как программно, так и через пользовательские действия. Правильная настройка и использование событий делает их мощным инструментом для сложных веб-приложений.