Метод hasPreviousStep используется для проверки наличия
предыдущего шага в последовательности шагов интерактивного руководства,
создаваемого с помощью библиотеки Driver.js. Он
позволяет определить, можно ли вернуть пользователя к предыдущему шагу,
что особенно важно для реализации навигации «назад» в пошаговых
инструкциях.
driver.hasPreviousStep();
Возвращаемое значение: boolean
true — если предыдущий шаг существует.false — если текущий шаг является первым и возврат
невозможен.Метод не принимает аргументов.
Driver.js управляет последовательностью шагов, каждый из которых содержит элемент DOM и описание действий или подсказок. Стандартная структура шага:
{
element: '#button',
popover: {
title: 'Кнопка подтверждения',
description: 'Нажмите для продолжения',
position: 'bottom'
}
}
При использовании метода hasPreviousStep важно, чтобы
был инициализирован экземпляр Driver с массивом шагов:
const driver = new Driver({
steps: [
{ element: '#step1', popover: { title: 'Шаг 1', description: 'Описание шага 1' } },
{ element: '#step2', popover: { title: 'Шаг 2', description: 'Описание шага 2' } }
]
});
driver.start();
if (driver.hasPreviousStep()) {
console.log('Можно перейти к предыдущему шагу');
} else {
console.log('Текущий шаг первый, возврат невозможен');
}
В этом примере метод hasPreviousStep возвращает
false на первом шаге и true на всех
последующих.
previous()Метод hasPreviousStep обычно применяется перед вызовом
метода previous(), который осуществляет переход к
предыдущему шагу:
if (driver.hasPreviousStep()) {
driver.previous();
} else {
console.log('Вы уже на первом шаге');
}
Такой подход предотвращает ошибочные вызовы previous()
на первом шаге, обеспечивая безопасную навигацию.
const backButton = document.querySelector('#backBtn');
backButton.addEventListener('click', () => {
if (driver.hasPreviousStep()) {
driver.previous();
} else {
backButton.disabled = true;
}
});
driver.on('next', () => {
if (driver.hasPreviousStep()) {
console.log('Пользователь может вернуться к предыдущему шагу при необходимости');
}
});
next,
previous, start, reset) для
расширенного контроля навигации.driver.start(),
так как без инициализации шагов проверка не имеет смысла.hasPreviousStep должна быть частью
навигационной логики для кнопок «Назад» или пользовательских
свайпов.on('next'),
on('previous')) позволяет создавать сложные динамические
инструкции.Метод hasPreviousStep обеспечивает надежный контроль над
навигацией в Driver.js и является ключевым инструментом для построения
интуитивно понятных и безопасных пошаговых руководств.