Метод complete является одной из ключевых возможностей
Shepherd.js, используемой для завершения текущего тура и выполнения
связанных с этим действий. Он позволяет управлять поведением интерфейса
после окончания всех шагов и является важным инструментом для построения
интерактивных пользовательских инструкций.
Метод complete используется для:
Он не требует передачи параметров, так как завершение тура подразумевает обработку всех внутренних состояний Shepherd.js автоматически.
tour.complete();
Пояснения:
tour — экземпляр Shepherd.Tour.complete.Shepherd.js использует собственную систему событий. Метод
complete вызывает событие complete, на которое
можно подписаться для выполнения дополнительных действий:
tour.on('complete', function() {
console.log('Тур завершён');
});
Это позволяет интегрировать завершение тура с логикой приложения, например:
При вызове complete Shepherd.js выполняет следующие
действия с шагами тура:
currentStep и steps остаются, но тур больше не
считается активным.Пример:
const tour = new Shepherd.Tour({
defaultStepOptions: {
cancelIcon: {
enabled: true
},
classes: 'shepherd-theme-arrows',
scrollTo: { beh * avior: 'smooth', block: 'center' }
}
});
tour.addStep({
id: 'intro',
text: 'Добро пожаловать в тур!',
buttons: [
{
text: 'Далее',
action: tour.next
}
]
});
tour.addStep({
id: 'finish',
text: 'Тур завершён',
buttons: [
{
text: 'Завершить',
action: tour.complete
}
]
});
tour.start();
В этом примере кнопка “Завершить” вызывает метод
complete, автоматически закрывая все шаги и вызывая событие
complete.
Метод complete не принимает аргументов, однако его
поведение можно контролировать через настройки тура и колбеков:
tour.on('complete', callback) — основной способ
добавления кастомной логики при завершении тура.tour.steps — позволяет проверить, какие шаги были
выполнены до вызова complete.tour.cancel() — альтернативный метод для отмены тура
без вызова событий завершения.cancelМетод cancel завершает тур преждевременно и может не
вызывать события complete в зависимости от конфигурации.
Основные отличия:
| Метод | Событие complete |
Состояние шагов | Предназначение |
|---|---|---|---|
complete |
Вызывается | Тур корректно завершён | Нормальное завершение тура |
cancel |
Не всегда | Тур прерван | Отмена тура без выполнения всех шагов |
complete всегда для финализации туров,
чтобы гарантировать корректную очистку DOM и вызов всех колбеков.complete для интеграции с
бизнес-логикой: аналитика, уведомления пользователя, сохранение
прогресса.complete внутри колбеков шагов, которые уже
управляют навигацией, чтобы избежать конфликтов с текущим состоянием
шага.Метод complete является простым и одновременно мощным
инструментом Shepherd.js, обеспечивая корректное завершение
интерактивных туров и интеграцию с внешней логикой приложения. Его
использование обеспечивает чистоту интерфейса и последовательность
пользовательского опыта.