Метод setKeyboardScrolling является важным инструментом
управления поведением клавиатурной навигации на сайте, реализованном с
использованием библиотеки fullPage.js. Он позволяет
динамически включать или отключать возможность прокрутки страниц с
помощью клавиш клавиатуры, таких как стрелки вверх/вниз, Page Up/Page
Down, пробел и другие стандартные комбинации.
fullpage_api.setKeyboardScrolling(boolean, directions);
Параметры:
boolean — true или
false.
true — включает возможность управления прокруткой с
клавиатуры.false — полностью блокирует управление с
клавиатуры.directions — необязательный параметр, массив строк, указывающий направления, по которым будет работать прокрутка:
['up', 'down', 'left', 'right']
1. Отключение клавиатурной прокрутки полностью:
fullpage_api.setKeyboardScrolling(false);
После выполнения этой команды стрелки клавиатуры и другие горячие клавиши перестанут переключать секции.
2. Включение клавиатурной прокрутки только по вертикали:
fullpage_api.setKeyboardScrolling(true, ['up', 'down']);
При этом горизонтальная прокрутка с клавиатуры (left,
right) останется заблокированной.
3. Отключение прокрутки при модальных окнах:
Часто используется на сайтах с полноэкранными секциями, когда необходимо временно заблокировать клавиатуру при открытии всплывающего окна:
function openModal() {
fullpage_api.setKeyboardScrolling(false);
document.querySelector('.modal').style.display = 'block';
}
function closeModal() {
document.querySelector('.modal').style.display = 'none';
fullpage_api.setKeyboardScrolling(true);
}
Такой подход предотвращает случайное переключение секций при взаимодействии пользователя с модальным контентом.
new fullpage('#fullpage', {...}).autoScrolling: true/false. Если автопрокрутка выключена,
клавиатура может управлять страницей стандартным скроллом браузера, но
fullPage.js перестанет «перехватывать» события.setAllowScrolling, если требуется более тонкая
настройка прокрутки мышью и сенсорными экранами. Например, можно
отключить клавиатуру, но оставить колесо мыши активным.onLeave или afterLoad, чтобы динамически
блокировать клавиатурные стрелки в зависимости от текущей секции.setKeyboardScrolling обеспечивает гибкий
контроль над клавиатурной навигацией в fullPage.js.