Метод setContent является ключевым инструментом для
динамического управления содержимым тултипов в библиотеке
Tippy.js. Он позволяет изменять текст или HTML-контент
тултипа после его создания, обеспечивая гибкость и интерактивность
интерфейсов.
instance.setContent(content)
Параметры:
content — новый контент тултипа. Может быть:
<div>,
<span> или любой другой элемент.Метод вызывается на объекте тултипа (instance), который
создается с помощью tippy().
1. Изменение текста тултипа
const button = document.querySelector('#myButton');
const tooltip = tippy(button, {
content: 'Начальный текст'
});
// Изменение текста через секунду
setTimeout(() => {
tooltip.setContent('Обновлённый текст');
}, 1000);
В этом примере исходный текст тултипа заменяется на новый через 1 секунду после инициализации.
2. Использование HTML-контента
tooltip.setContent('<strong>Жирный текст</strong> и <em>курсив</em>');
Использование HTML позволяет создавать сложные структуры внутри тултипа, например списки, ссылки или изображения.
3. Динамическое содержимое с функцией
tooltip.setContent(() => {
const date = new Date();
return `Текущее время: ${date.toLocaleTimeString()}`;
});
Функция вызывается каждый раз при показе тултипа, что делает
setContent идеальным для динамически обновляемых
данных.
Метод setContent работает в связке с
show(), hide() и другими методами Tippy.js.
Например:
tooltip.setContent('Обновлённый текст');
tooltip.show();
Это позволяет сначала обновить контент, а затем сразу показать тултип пользователю.
const infoButton = document.querySelector('#info');
const infoTooltip = tippy(infoButton, {
content: 'Нажмите для получения информации',
allowHTML: true
});
infoButton.addEventListener('click', () => {
fetch('/api/info')
.then(res => res.json())
.then(data => {
infoTooltip.setContent(`<ul>${data.items.map(item => `<li>${item}</li>`).join('')}</ul>`);
infoTooltip.show();
});
});
В этом примере тултип обновляется на основе данных с сервера и отображает список элементов в HTML-формате.
Метод setContent является универсальным и позволяет
реализовать любые сценарии изменения тултипов: от простого текста до
сложных динамических интерфейсов.