Объект Tour является центральной сущностью Shepherd.js,
управляющей последовательностью шагов, их поведением и визуальным
отображением. Для создания экземпляра Tour используется
конструктор Shepherd.Tour, которому передается объект с
настройками.
const tour = new Shepherd.Tour({
defaultStepOptions: {
classes: 'shepherd-theme-arrows',
scrollTo: true,
cancelIcon: {
enabled: true
}
},
useModalOverlay: true
});
defaultStepOptions – объект,
содержащий общие настройки для всех шагов. Позволяет избежать
дублирования кода при создании нескольких шагов. Основные опции
внутри:
classes – CSS-классы, применяемые
ко всем шагам. Например, shepherd-theme-arrows или
кастомные классы для стилизации.
scrollTo – автоматически
прокручивает страницу к элементу, к которому привязан шаг
(true или объект с настройками).
cancelIcon – настройка кнопки
закрытия шага:
cancelIcon: {
enabled: true, // отображать крестик
label: 'Закрыть', // текст подсказки
}attachTo – параметры привязки шага
к элементу:
attachTo: {
element: '.my-button', // селектор элемента
on: 'bottom' // сторона, на которой появляется шаг
}buttons – массив кнопок для шага с
их действиями (text, action,
classes).
useModalOverlay – логическое
значение, определяющее, будет ли отображаться затемненный фон для
акцентирования шага. При true создается модальное
затемнение, блокирующее взаимодействие с остальной страницей.
tourName – опциональное название
тура. Может использоваться для идентификации при хранении состояния или
локальном сохранении прогресса пользователя.
После создания экземпляра Tour доступен набор методов
для управления и взаимодействия с туром:
addStep(stepOptions) – добавляет
шаг к туру. Параметр stepOptions содержит конфигурацию
конкретного шага:
tour.addStep({
id: 'intro',
text: 'Это первый шаг тура.',
attachTo: {
element: '#start-btn',
on: 'bottom'
},
buttons: [
{
text: 'Далее',
action: tour.next
}
]
});start() – запускает тур с первого
шага.
next() / back() –
переход к следующему или предыдущему шагу.
cancel() – завершает тур и скрывает
все шаги.
complete() – помечает тур как
завершенный, срабатывают события complete.
getCurrentStep() – возвращает
текущий шаг для получения его состояния или вызова методов
шага.
Shepherd.js предоставляет возможность подписки на события тура:
show – срабатывает при отображении
шага.hide – при скрытии шага.complete – после завершения тура.cancel – при отмене тура.active / inactive – для
отслеживания активности тура.Пример подписки на событие:
tour.on('complete', function() {
console.log('Тур завершен');
});
defaultStepOptions для
единообразного внешнего вида всех шагов.attachTo для каждого шага, чтобы подсказка
правильно позиционировалась.useModalOverlay при необходимости
фокусировки пользователя на текущем шаге.tour.next(), чтобы упрощать навигацию внутри событий
кнопок.Инициализация объекта Tour — это фундамент для
организации интерактивных гидов на сайте, позволяющий централизованно
управлять шагами, их поведением и визуальной подачей, обеспечивая
гибкость и расширяемость.