В библиотеке Shepherd.js свойство
modalOverlayOpeningRadius отвечает за контроль радиуса
открытия модального оверлея при активации шага тура. Этот параметр
особенно важен для создания плавного и наглядного выделения элемента
интерфейса, вокруг которого фокусируется внимание пользователя.
modalOverlayOpeningRadius задает радиус окружности,
через которую пользователь “видит” выделяемый элемент при появлении
модального оверлея. По умолчанию оверлей закрывает весь интерфейс, затем
постепенно открывается вокруг целевого элемента, создавая эффект
spotlight. Значение радиуса задается в пикселях и может быть изменено
для достижения желаемого визуального эффекта.
numberНапример, установка значения 0 создаст мгновенное
открытие с минимальной точкой фокусировки, а большое значение, например
100, создаст более плавный, расширяющийся эффект.
const tour = new Shepherd.Tour({
defaultStepOptions: {
classes: 'shepherd-theme-arrows',
scrollTo: true,
modalOverlayOpeningRadius: 80
}
});
tour.addStep({
id: 'step-1',
text: 'Это ваш основной элемент.',
attachTo: { element: '#main-button', on: 'bottom' },
buttons: [
{
text: 'Далее',
action: tour.next
}
]
});
tour.start();
В этом примере при показе шага оверлей создаст окружность радиусом
80 пикселей вокруг элемента #main-button,
плавно открывая область фокуса.
modalOverlayOpeningRadius
работает только если шаг настроен как модальный
(modal: true). Если шаг немодальный, параметр
игнорируется.modalOverlayOpeningRadius = 50, а padding = 10,
итоговая видимая область увеличится до 60 пикселей.Можно изменять modalOverlayOpeningRadius на лету при
переходе между шагами, что позволяет адаптировать фокус к размеру разных
элементов интерфейса:
tour.addStep({
id: 'step-2',
text: 'Другой элемент с большим фокусом.',
attachTo: { element: '#secondary-button', on: 'top' },
buttons: [
{
text: 'Назад',
action: tour.back
},
{
text: 'Далее',
action: tour.next
}
],
modalOverlayOpeningRadius: 120
});
modalOverlayOpeningRadius поддерживается во всех
современных браузерах, так как используется стандартный SVG и CSS для
маскировки модального оверлея. Особое внимание стоит уделять мобильным
устройствам, где радиус может корректироваться для лучшего отображения
на маленьких экранах.
Использование modalOverlayOpeningRadius позволяет
создавать:
Эффект особенно заметен при сочетании с настройками анимации и кастомной темой шага, что делает взаимодействие с туром более интуитивным и визуально приятным.