Tippy.js предоставляет гибкие инструменты управления появлением и исчезновением всплывающих подсказок, в том числе через параметры задержки. Управление задержками позволяет добиться более естественного взаимодействия пользователя с интерфейсом и избежать резкого мерцания подсказок при случайных наведениях.
delayПараметр delay отвечает за время, которое проходит
до появления или скрытия тултипа. Он может быть задан
двумя способами:
tippy('#button', {
content: 'Пример подсказки',
delay: 500, // 500 миллисекунд для появления и скрытия
});
tippy('#button', {
content: 'Пример подсказки',
delay: [300, 700], // 300 мс перед показом, 700 мс перед скрытием
});
Массивный вариант полезен, когда требуется, чтобы подсказка появлялась мгновенно, но скрывалась плавно, или наоборот.
Значения задержки можно задавать функцией, чтобы изменять поведение подсказки в зависимости от состояния элемента или контекста:
tippy('#button', {
content: 'Динамическая задержка',
delay: (instance) => {
if (instance.props.content.length > 20) {
return [500, 1000]; // длинные подсказки показываются медленнее
}
return [100, 300];
}
});
Функция получает объект instance, что позволяет
адаптировать задержку индивидуально для каждого тултипа.
delay с
анимациейTippy.js интегрируется с CSS-анимациями и transition-эффектами.
Параметр delay влияет на время между событием и
началом анимации:
tippy('#button', {
content: 'Анимированная подсказка',
animation: 'scale',
delay: [200, 600]
});
Корректное использование задержек совместно с анимацией позволяет добиться плавного визуального эффекта без дерганий.
showOnCreateПо умолчанию delay применяется только на события
mouseenter и mouseleave. При использовании
showOnCreate: true задержка также влияет на первое
отображение:
tippy('#button', {
content: 'Показ сразу после создания',
delay: [300, 500],
showOnCreate: true
});
[0-100, 300-500].Понимание и грамотное использование параметров delay в
Tippy.js позволяет создавать интерфейсы с аккуратным, контролируемым
поведением подсказок, улучшая удобство использования и
восприятие информации пользователем.