FullPage.js предоставляет мощный инструмент для создания веб-страниц с эффектом «одна секция на весь экран». Одним из ключевых способов управления переходами между секциями является клавиатурная навигация. Она позволяет пользователю перемещаться по страницам с помощью стрелок, клавиши Page Up / Page Down и других горячих клавиш, повышая удобство взаимодействия и доступность интерфейса.
Для активации клавиатурной навигации используется параметр
keyboardScrolling при инициализации fullPage.js:
new fullpage('#fullpage', {
keyboardScrolling: true, // Включение клавиатурной навигации
animateAnchor: true, // Анимация при переходе к якорю через клавиатуру
sectionSelector: '.section'
});
Ключевые моменты:
keyboardScrolling: true — разрешает прокрутку через
клавиши.
Если значение false, клавиатурная навигация
полностью отключена.
Этот параметр можно изменять динамически через API:
fullpage_api.setKeyboardScrolling(false); // отключить
fullpage_api.setKeyboardScrolling(true); // включитьFullPage.js использует стандартные клавиши для навигации:
Клавиши работают автоматически, если keyboardScrolling
включен. Для секций с горизонтальными слайдами также поддерживаются
стрелки влево и вправо для переключения слайдов.
FullPage.js позволяет ограничивать навигацию по клавиатуре для
отдельных секций. Для этого можно использовать метод
setKeyboardScrolling с параметром true или
false в момент входа в секцию:
new fullpage('#fullpage', {
afterLoad: function(origin, destination, direction){
if(destination.index === 2){ // 3-я секция (индексация с 0)
fullpage_api.setKeyboardScrolling(false);
} else {
fullpage_api.setKeyboardScrolling(true);
}
}
});
Таким образом, на определенных секциях можно полностью блокировать управление клавиатурой или ограничивать прокрутку.
Для секций с горизонтальными слайдами клавиатурная навигация
управляется стрелками влево/вправо. Для более точной настройки можно
использовать событие afterSlideLoad:
new fullpage('#fullpage', {
controlArrows: true,
afterSlideLoad: function(section, origin, destination, direction){
console.log('Слайд переключен с клавиатуры или мышью');
}
});
Особенности:
controlArrows: false), стрелки клавиатуры не будут
переключать слайды.Клавиатурная навигация тесно интегрируется с якорями:
new fullpage('#fullpage', {
anchors: ['firstPage', 'secondPage', 'thirdPage'],
keyboardScrolling: true
});
Клавиши Home и End автоматически
переходят к секциям по якорям.
При использовании animateAnchor: true переход
осуществляется плавно.
Переходы можно контролировать через API:
fullpage_api.moveTo('thirdPage'); // переход к секции по якорюДля создания гибкой клавиатурной навигации можно сочетать её с событиями fullPage.js:
onLeave — реагирует на уход с секции и может временно
отключать клавиатуру.afterLoad — позволяет включать или отключать клавиатуру
динамически.afterSlideLoad — управление слайдами через
стрелки.Пример динамического управления клавиатурой:
new fullpage('#fullpage', {
keyboardScrolling: true,
onLeave: function(origin, destination, direction){
if(destination.index === 4){
fullpage_api.setKeyboardScrolling(false);
}
},
afterLoad: function(origin, destination, direction){
if(destination.index !== 4){
fullpage_api.setKeyboardScrolling(true);
}
}
});
Клавиатурная навигация повышает доступность сайта:
Клавиатурная навигация в fullPage.js — это мощный инструмент, который
позволяет строить интуитивные, плавные и доступные страницы с
вертикальными и горизонтальными секциями. Комбинируя параметры
keyboardScrolling, события API и якоря, можно создавать
гибкое управление как для простых лендингов, так и для сложных
интерактивных интерфейсов.