Библиотека fullPage.js предоставляет мощный инструмент для создания полноэкранных сайтов с вертикальной и горизонтальной прокруткой. Один из ключевых аспектов интерактивности — возможность управления навигацией с клавиатуры. Эта функциональность позволяет пользователям перемещаться между секциями и слайдами без использования мыши, что повышает удобство и доступность интерфейса.
По умолчанию в fullPage.js клавиатурная навигация активирована. Управление осуществляется через объект конфигурации при инициализации плагина:
new fullpage('#fullpage', {
keyboardScrolling: true, // включает прокрутку с клавиатуры
animateAnchor: true, // анимация при переходе по якорям
recordHistory: true // запись истории в браузер
});
Ключевые параметры:
keyboardScrolling — булевое значение, отвечает за
включение или отключение навигации через клавиши.animateAnchor — при переходе по якорям клавиши будут
использовать анимацию, если значение true.recordHistory — позволяет сохранять навигацию в истории
браузера, что важно для кнопок “Назад” и “Вперед”.fullPage.js использует стандартные клавиши для вертикального и горизонтального перемещения:
Навигация осуществляется мгновенно или с анимацией в зависимости от
настроек и дополнительных параметров, таких как
scrollingSpeed.
Для более тонкой настройки клавиатурной навигации fullPage.js предоставляет методы API. Например, можно временно отключить прокрутку с клавиатуры:
fullpage_api.setKeyboardScrolling(false);
Чтобы снова включить:
fullpage_api.setKeyboardScrolling(true);
Также можно отключить прокрутку только по вертикали или по горизонтали, передавая два аргумента:
fullpage_api.setKeyboardScrolling(true, 'down'); // включить только вертикальную прокрутку вниз
fullpage_api.setKeyboardScrolling(false, 'up'); // отключить прокрутку вверх
Эта возможность особенно полезна при создании интерактивных блоков внутри секций, где клавиши должны управлять не прокруткой, а другими элементами (например, слайдерами или модальными окнами).
fullPage.js позволяет добавить собственные функции для клавиш через
событие onKeyDown:
document.addEventListener('keydown', function(event) {
if(event.key === 'Enter'){
console.log('Нажата клавиша Enter');
}
});
Важно учитывать, что обработчик следует применять с условием, чтобы не конфликтовать с встроенной навигацией. Можно использовать метод API для отключения клавиатурной навигации на время действия пользовательского обработчика:
fullpage_api.setKeyboardScrolling(false);
// Выполняем кастомные действия
fullpage_api.setKeyboardScrolling(true);
fullPage.js позволяет адаптировать навигацию под разные устройства и размеры экрана. Например, для мобильных устройств часто рекомендуется отключать клавиатурную прокрутку, так как основной способ взаимодействия — жесты:
new fullpage('#fullpage', {
keyboardScrolling: window.innerWidth > 768
});
Таким образом, навигация с клавиатуры работает только на десктопах, а на мобильных устройствах полагается на сенсорные события.
shift и
ctrl: для расширенного управления можно
использовать комбинации клавиш, обрабатывая их через события
keydown.Навигация с клавиатуры в fullPage.js — это гибкий и мощный инструмент, позволяющий создавать полностью интерактивные и доступные интерфейсы. Управление может быть как стандартным, с использованием стрелок и Page Up/Down, так и расширенным, через API и пользовательские обработчики событий, с возможностью адаптации под разные устройства и сценарии взаимодействия.