FullPage.js предоставляет мощный инструмент для создания веб-страниц с полноэкранной прокруткой. Основная единица структуры — секция, которая занимает весь экран. Навигация между секциями является ключевой частью взаимодействия с пользователем и может быть реализована как автоматически при прокрутке, так и вручную через программный интерфейс библиотеки.
Для использования навигации необходимо подключить библиотеку fullPage.js и инициализировать её на контейнере, содержащем секции:
new fullpage('#fullpage', {
autoScrolling: true,
navigation: true,
navigationPosition: 'right',
anchors: ['firstPage', 'secondPage', 'thirdPage'],
});
Ключевые параметры:
autoScrolling — включает автоматическую прокрутку на
одну секцию за раз.navigation — отображает навигационные точки
справа.navigationPosition — позиция точек
('right' или 'left').anchors — уникальные идентификаторы секций, позволяющие
ссылаться на них через URL (#firstPage).FullPage.js предоставляет методы для управления навигацией через Jav * aScript:
fullpage_api.moveTo(2); // Перейти ко второй секции
fullpage_api.moveTo('thirdPage'); // Перейти к секции с якорем 'thirdPage'
fullpage_api.moveSectionUp(); // Перейти к предыдущей секции
fullpage_api.moveSectionDown(); // Перейти к следующей секции
Если секция содержит горизонтальные слайды:
fullpage_api.moveSlideRight(); // Перейти к следующему слайду
fullpage_api.moveSlideLeft(); // Перейти к предыдущему слайду
FullPage.js поддерживает стандартные клавиши для навигации:
Клавиши можно отключить или изменить через параметр
keyboardScrolling:
new fullpage('#fullpage', {
keyboardScrolling: true,
animateAnchor: true
});
Использование якорей позволяет не только перемещаться по секциям программно, но и напрямую через URL:
<a href="#secondPage">Перейти ко второй секции</a>
FullPage.js автоматически прокрутит страницу к секции с указанным
якорем при загрузке. Параметр animateAnchor отвечает за
плавность анимации при переходе по якорям:
animateAnchor: true
FullPage.js поддерживает множество событий, связанных с перемещением между секциями:
new fullpage('#fullpage', {
onLeave: function(origin, destination, direction){
console.log("Покидаем секцию " + origin.index);
},
afterLoad: function(origin, destination, direction){
console.log("Загружена секция " + destination.index);
}
});
Основные события:
onLeave — вызывается перед уходом с текущей
секции.afterLoad — после загрузки новой секции.afterSlideLoad — после загрузки слайда внутри
секции.События можно использовать для изменения стилей, запуска анимаций или динамической подгрузки контента при навигации.
FullPage.js позволяет кастомизировать навигацию:
navigation: true,
navigationTooltips: ['Главная', 'О нас', 'Контакты'],
showActiveTooltip: true
navigationTooltips — всплывающие подсказки при
наведении на точки.showActiveTooltip — отображение подсказки для активной
секции.Параметры scrollHorizontally и слайды внутри секций
обеспечивают комбинированное перемещение как по вертикали, так и по
горизонтали.
Параметры, влияющие на скорость и плавность переходов:
new fullpage('#fullpage', {
scrollingSpeed: 700, // скорость прокрутки в миллисекундах
easing: 'easeInOutCubic', // функция плавности
autoScrolling: true
});
scrollingSpeed задаёт длительность анимации между
секциями.easing позволяет выбрать кривую ускорения, влияющую на
ощущение плавности.document.querySelector('#nextBtn').addEventListener('click', () => {
fullpage_api.moveSectionDown();
});
new fullpage('#fullpage', {
onLeave: function(origin, destination, direction){
if(destination.index === 2){
return false; // Блокируем переход к третьей секции
}
}
});
function goToSection(name){
fullpage_api.moveTo(name);
}
goToSection('secondPage');
Навигация в fullPage.js сочетает в себе удобство программного управления, плавную прокрутку и гибкость настройки визуальных элементов, что позволяет создавать интерактивные и интуитивно понятные интерфейсы с полноэкранными секциями.