FullPage.js предоставляет мощные возможности для создания полноэкранных скролл-секций, и одной из ключевых функций для адаптивного дизайна являются breakpoints. С их помощью можно управлять поведением скролла и отображением секций в зависимости от размера экрана. Это особенно важно для мобильных устройств, планшетов и десктопов с различными разрешениями.
Breakpoints позволяют определить точки, при которых fullPage.js будет менять свои настройки. Это может быть отключение полноэкранного скролла, изменение навигации, изменение размеров секций или скрытие определённых элементов.
В fullPage.js поддерживаются два основных параметра:
responsiveWidth – задаёт ширину
экрана, при которой fullPage.js перестаёт работать в полноэкранном
режиме.responsiveHeight – задаёт высоту
экрана, при которой происходит аналогичное поведение.Пример базовой инициализации с breakpoints:
new fullpage('#fullpage', {
autoScrolling: true,
navigation: true,
responsiveWidth: 768, // ниже 768px отключается autoScrolling
responsiveHeight: 600 // ниже 600px отключается autoScrolling
});
В этом примере при ширине окна меньше 768px или высоте меньше 600px скрипт автоматически отключает autoScrolling, что делает сайт более удобным для мобильных устройств.
responsiveWidth и responsiveHeightresponsiveWidth: 1024
В данном случае при ширине экрана 1024px и меньше включается адаптивное поведение. Можно совместить с кастомными CSS-классами для изменения стилей секций.
responsiveHeight: 500
Если высота окна меньше 500px, fullPage.js автоматически переходит в обычный скролл.
FullPage.js предоставляет события для обработки изменения размера экрана, что позволяет создавать более гибкую адаптивность:
afterResponsive – вызывается каждый
раз, когда fullPage.js переходит в адаптивный режим или возвращается из
него.new fullpage('#fullpage', {
responsiveWidth: 768,
afterResponsive: function(isResponsive){
if(isResponsive){
console.log('Адаптивный режим включён');
} else {
console.log('Возврат к полноэкранному режиму');
}
}
});
Используя afterResponsive, можно динамически изменять
стили, скрывать элементы или подгружать контент в зависимости от
текущего режима.
Помимо глобальных breakpoints, можно использовать CSS вместе с JavaScript для тонкой настройки секций. Например, можно скрывать блоки навигации на мобильных устройствах:
@media (max-width: 768px) {
.fp-nav {
display: none !important;
}
}
Или изменять размеры элементов внутри секций:
@media (max-width: 768px) {
.section-content {
font-size: 14px;
padding: 20px;
}
}
Таким образом, breakpoints в fullPage.js работают в связке с CSS и позволяют полностью контролировать адаптивность сайта.
FullPage.js версии 4+ поддерживает метод
setResponsive, который позволяет вручную
включать или отключать адаптивный режим без изменения размеров окна:
fullpage_api.setResponsive(true); // включение адаптивного режима
fullpage_api.setResponsive(false); // отключение адаптивного режима
Это полезно, если нужно переключать поведение скролла на основе пользовательских действий, например при открытии меню или модального окна.
afterResponsive для динамических
изменений – это позволяет подгружать контент или менять
интерфейс без перезагрузки страницы.Breakpoints являются ключевым инструментом для адаптивной реализации проектов на fullPage.js. Они обеспечивают плавный переход между полноэкранными секциями и стандартным скроллом, позволяя создавать универсальные сайты, удобные для любого устройства.