Tooltipster предоставляет гибкие возможности для точного позиционирования подсказок относительно элементов формы, включая текстовые поля, чекбоксы и кнопки. Основная цель — обеспечить корректное отображение тултипа без перекрытия важных элементов интерфейса и с сохранением читаемости.
sideСвойство side отвечает за расположение подсказки
относительно целевого элемента. Доступные значения:
Пример использования:
$('#username').tooltipster({
content: 'Введите ваш логин',
side: 'right'
});
В этом примере подсказка отображается справа от поля ввода с
идентификатором username.
distance и offset$('#password').tooltipster({
content: 'Пароль должен содержать минимум 8 символов',
side: 'bottom',
distance: 12
});
$('#email').tooltipster({
content: 'Введите корректный email',
side: 'top',
offset: [0, 20] // [горизонтальное смещение, вертикальное смещение]
});
functionPositionДля динамических интерфейсов, где положение полей может меняться,
используется опция functionPosition. Она позволяет задать
функцию, возвращающую объект с параметрами позиции:
$('#phone').tooltipster({
content: 'Формат: +7 (XXX) XXX-XX-XX',
functionPosition: function(instance, helper, position){
// Смещаем подсказку на 15px вниз, если поле близко к верхней границе окна
if(position.coord.top < 50){
position.coord.top += 15;
}
return position;
}
});
Функция получает:
Возвращаемый объект должен содержать поля coord и
size, которые определяют точное размещение.
repositionOnScroll и
viewportAware$('#dob').tooltipster({
content: 'Введите дату рождения',
side: 'bottom',
repositionOnScroll: true
});
$('#address').tooltipster({
content: 'Укажите полный адрес',
side: 'left',
viewportAware: true
});
Сочетание этих опций обеспечивает корректное позиционирование на любых разрешениях экрана и при прокрутке страницы.
Tooltipster предоставляет классы для кастомизации, что полезно при работе с формами:
.tooltipster-custom {
max-width: 250px;
padding: 10px;
font-size: 14px;
border-radius: 6px;
background-color: #333;
color: #fff;
}
$('#city').tooltipster({
content: 'Введите город проживания',
side: 'top',
theme: 'tooltipster-custom'
});
Использование кастомных классов позволяет корректно подстраивать тултипы под размер и форму полей, особенно в сложных макетах с инпутами разной ширины.
Для элементов, добавляемых после загрузки страницы, используется делегирование:
$(document).on('mouseenter', '.dynamic-input', function(){
$(this).tooltipster({
content: 'Это динамически добавленное поле',
side: 'bottom'
});
});
Такой подход гарантирует, что все новые поля будут получать подсказки с нужным позиционированием.
viewportAware и небольших distance, чтобы
тултипы не выходили за экран.Эффективное использование параметров side,
distance, offset,
functionPosition и CSS-классов позволяет добиться полного
контроля над положением подсказок относительно любых полей формы,
сохраняя читаемость и эстетичность интерфейса.