Метод getCurrentStep является ключевым инструментом для
управления и отслеживания состояния текущего шага в процессе создания
интерактивных руководств с использованием библиотеки
Shepherd.js. Он позволяет получить объект шага, который
в данный момент отображается пользователю, предоставляя доступ ко всем
его свойствам и методам.
getCurrentStep используется для:
С помощью этого метода можно реализовать логику условного показа подсказок, динамическое обновление текста, переключение между шагами и взаимодействие с внешними элементами страницы.
const currentStep = tour.getCurrentStep();
Пояснения:
tour — экземпляр объекта
Shepherd.Tour.currentStep — объект текущего шага
(Shepherd.Step) или null, если тур еще не
начат или завершен.Объект шага (Shepherd.Step) содержит следующие ключевые
свойства и методы:
id — уникальный идентификатор шага.options — объект конфигурации шага, включающий текст,
заголовок, расположение и кнопки.element — DOM-элемент, к которому привязан шаг.tether — объект Tether, отвечающий за позиционирование
подсказки.show() — отображение текущего шага.hide() — скрытие текущего шага.next() — переход к следующему шагу.back() — возвращение к предыдущему шагу.updateStepOptions(options) — обновление параметров шага
динамически.destroy() — удаление шага и освобождение ресурсов.const currentStep = tour.getCurrentStep();
if (currentStep) {
console.log("Текущий шаг:", currentStep.id);
}
const currentStep = tour.getCurrentStep();
if (currentStep) {
currentStep.updateStepOptions({
text: "Обновленный текст текущего шага"
});
}
const currentStep = tour.getCurrentStep();
if (currentStep && currentStep.id === "step-2") {
currentStep.next();
}
Метод getCurrentStep часто используется вместе с
событиями туров:
show — вызывается при отображении шага.hide — вызывается при скрытии шага.complete — вызывается при завершении тура.Пример использования внутри события show:
tour.on('show', function() {
const step = tour.getCurrentStep();
if (step && step.id === 'step-3') {
console.log("Пользователь достиг шага 3");
}
});
null, если тур не активен. Всегда проверять результат перед
вызовом методов шага.getCurrentStep можно менять контент шага в зависимости от
действий пользователя, что делает тур более интерактивным.getCurrentStep эффективно работает вместе с
методами:
next() и back() для навигации.addStep() для добавления новых шагов на лету.start() и cancel() для управления
жизненным циклом тура.Метод getCurrentStep обеспечивает полный контроль над
текущим шагом тура и позволяет реализовать сложную интерактивную логику,
делая интерфейс более отзывчивым и динамичным.