TourOptions — это объект конфигурации, который задаёт
поведение всего тура в Shepherd.js. Он позволяет
управлять глобальными настройками, применяемыми ко всем шагам тура,
включая навигацию, отображение кнопок, обработку событий и визуальные
эффекты.
TourOptionsconst tour = new Shepherd.Tour({
defaultStepOptions: {
classes: 'shepherd-theme-arrows',
scrollTo: true
},
useModalOverlay: true
});
defaultStepOptions — задаёт настройки
для всех шагов по умолчанию.useModalOverlay — включает
полупрозрачную маску на остальной части страницы, выделяя активный
элемент.TourOptionsdefaultStepOptions Определяет набор
опций, применяемых ко всем шагам тура, если конкретный шаг не
переопределяет их.
classes — CSS-классы для стилизации
подсказки.scrollTo — автоматическая прокрутка
страницы к элементу.attachTo — объект с указанием целевого
элемента и позиции подсказки относительно него:attachTo: {
element: '#button-id',
on: 'bottom'
}
useModalOverlay Логическое значение
true/false. При true весь интерфейс, кроме
целевого элемента, затемняется, создавая эффект модального
окна.
keyboardNavigation Разрешает
навигацию с клавиатуры (Esc, ArrowRight,
ArrowLeft). По умолчанию true.
exitOnEsc Управляет поведением тура
при нажатии клавиши Esc. По умолчанию
true.
tourName Уникальное имя тура,
полезное для сохранения прогресса или идентификации в многотуровой
системе.
useModal Позволяет показывать тур в
модальном слое. Отличается от useModalOverlay наличием
дополнительного контроля над стилями и событиями.
TourOptionsstart() — запускает тур.next() / back() — переход
к следующему или предыдущему шагу.cancel() — полное завершение
тура.complete() — завершение тура с
возможностью обработки события окончания.addStep(stepOptions) — добавление
нового шага с опциями, переопределяющими
defaultStepOptions.TourOptions позволяет регистрировать глобальные события
через объект events:
const tour = new Shepherd.Tour({
defaultStepOptions: { scrollTo: true },
events: {
'start': () => console.log('Тур начат'),
'complete': () => console.log('Тур завершен'),
'show': () => console.log('Шаг показан')
}
});
start — вызывается при запуске
тура.complete — при завершении последнего
шага.show — каждый раз, когда показывается
новый шаг.cancel — при принудительной остановке
тура.TourOptionsКнопки задаются на уровне шагов (StepOptions), но через
defaultStepOptions можно создать единый стиль для всего
тура:
defaultStepOptions: {
buttons: [
{
text: 'Назад',
action: tour.back,
classes: 'shepherd-button-secondary'
},
{
text: 'Далее',
action: tour.next,
classes: 'shepherd-button-primary'
}
]
}
text — отображаемый текст кнопки.action — функция, вызываемая при
нажатии.classes — CSS-класс кнопки.Shepherd.js использует библиотеку Popper.js для
позиционирования подсказок. Через TourOptions можно задать
глобальные правила:
defaultStepOptions: {
popperOptions: {
modifiers: [
{
name: 'offset',
options: { offset: [0, 10] }
}
]
}
}
offset — смещение подсказки
относительно целевого элемента.modifiers — массив объектов,
изменяющих поведение Popper.js (например, ограничение выхода за экран,
смещение).const tour = new Shepherd.Tour({
defaultStepOptions: { scrollTo: true, classes: 'shepherd-theme-arrows' },
useModalOverlay: true
});
const tour = new Shepherd.Tour({
defaultStepOptions: {
buttons: [
{ text: 'Назад', action: tour.back },
{ text: 'Далее', action: tour.next }
]
},
events: {
start: () => console.log('Начало тура'),
complete: () => console.log('Тур завершен')
}
});
const tour = new Shepherd.Tour({
defaultStepOptions: {
popperOptions: {
modifiers: [
{ name: 'preventOverflow', options: { padding: 10 } },
{ name: 'offset', options: { offset: [0, 20] } }
]
}
}
});
TourOptionsdefaultStepOptions для
единых стилей и поведения всех шагов.useModalOverlay для
фокусировки на элементах.events,
чтобы реализовать кастомные логики при старте, показе и завершении
тура.popperOptions.buttons в defaultStepOptions
для консистентного интерфейса.TourOptions является ядром настройки туров в Shepherd.js
и позволяет гибко контролировать визуальное и функциональное поведение
всех шагов, обеспечивая единый стиль и удобную навигацию.