Библиотека Driver.js предоставляет гибкий механизм создания интерактивных пошаговых руководств по интерфейсу. Управление поведением каждого шага осуществляется через объект конфигурации, который позволяет точно настроить отображение, анимацию и взаимодействие с элементами страницы.
animateСвойство animate управляет включением или отключением
анимации при переходе между шагами. Допустимые значения:
animate: true // включена анимация
animate: false // отключена анимация
При значении true элемент плавно подсвечивается и
перемещается к центру экрана, создавая визуально комфортное
сопровождение для пользователя.
opacityУправляет прозрачностью затемнения фона вокруг целевого элемента.
Значение задается в диапазоне от 0 (полностью прозрачный)
до 1 (полностью непрозрачный).
opacity: 0.5
Это свойство полезно для акцентирования внимания на выбранных элементах интерфейса, при этом остальные части страницы остаются видимыми.
paddingОпределяет отступ между целевым элементом и рамкой подсветки.
padding: 10
Позволяет создавать визуальный «воздушный» промежуток, предотвращая наложение подсветки на содержимое элемента.
allowCloseУстанавливает, можно ли закрывать всплывающий шаг кликом вне целевого элемента или нажатием клавиши Escape.
allowClose: true
Если установлено в false, пользователь может пройти шаг
только через кнопки управления.
stageBackgroundЗадает цвет фона вокруг целевого элемента.
stageBackground: '#ffffff'
Часто используется для создания контрастного эффекта или соответствия фирменной палитре интерфейса.
nextBtnText и
prevBtnTextПозволяют настраивать текст кнопок навигации:
nextBtnText: 'Далее',
prevBtnText: 'Назад'
Поддерживается локализация интерфейса без необходимости изменения кода самой библиотеки.
closeBtnTextТекст кнопки закрытия шага:
closeBtnText: 'Закрыть'
Используется, когда allowClose включен и требуется явная
кнопка для завершения шага.
highlightPaddingДополнительный отступ вокруг подсвечиваемого элемента, который расширяет область подсветки без изменения размера самого элемента.
highlightPadding: 5
Позволяет визуально выделить элемент более аккуратно, особенно если у него тонкая граница или маленькая площадь.
stagePaddingОтступ между рамкой шага и затемнённой областью. Отличается от
padding тем, что влияет не на целевой элемент, а на
обрамляющую подсветку.
stagePadding: 20
onNext,
onPrevious, onClose, onStart,
onCompleteФункции обратного вызова для управления поведением шагов. Они позволяют выполнять действия при переходе между шагами или завершении руководства:
onNext: (element) => { console.log('Следующий шаг', element); },
onClose: () => { console.log('Руководство закрыто'); }
Используются для интеграции с логикой приложения, например, для отправки аналитических событий.
nextStep и
prevStepНастраивают переходы между шагами вручную, позволяя динамически менять последовательность:
nextStep: 'step-3',
prevStep: 'step-1'
Это полезно для условной навигации или пропуска некоторых шагов на основе состояния интерфейса.
placementОпределяет положение подсказки относительно целевого элемента.
Возможные значения: top, bottom,
left, right, auto.
placement: 'bottom'
При auto библиотека автоматически выбирает оптимальное
положение, чтобы шаг не выходил за границы экрана.
draggableПозволяет делать подсказку перемещаемой пользователем.
draggable: true
Полезно для интерфейсов с ограниченным пространством, когда подсказка может закрывать важные элементы.
showButtons и
showCloseButtonУправляют отображением стандартных кнопок управления на шаге:
showButtons: true,
showCloseButton: false
Это помогает полностью контролировать пользовательский интерфейс и при необходимости создавать кастомные элементы управления.
keyboardControlВключает или отключает навигацию по шагам с помощью клавиатуры (стрелки, Escape):
keyboardControl: true
Позволяет повысить доступность и удобство использования интерактивного руководства.
stepsМассив объектов, описывающих каждый шаг. Ключи внутри шага включают
element, popover, placement,
padding и другие свойства, которые переопределяют
глобальные настройки для конкретного шага:
steps: [
{
element: '#menu',
popover: {
title: 'Главное меню',
description: 'Здесь находятся основные функции',
position: 'right'
}
},
{
element: '#submit',
popover: {
title: 'Кнопка отправки',
description: 'Нажмите, чтобы отправить форму',
position: 'bottom'
}
}
]
Каждый шаг можно детально настроить, создавая уникальные сценарии сопровождения интерфейса.
Эти свойства составляют основу конфигурации Driver.js, обеспечивая полное управление визуальным представлением, поведением и навигацией пошаговых руководств. Их грамотное сочетание позволяет создавать сложные интерактивные гайды с плавной анимацией, удобной навигацией и кастомным стилем для любых веб-приложений.