Одной из самых частых ошибок является неправильная инициализация fullPage.js. Основные причины:
new fullpage(...) или
$('#fullpage').fullpage(...).DOMContentLoaded или размещение скрипта в конце
body.Пример правильной инициализации:
document.addEventListener('DOMContentLoaded', function() {
new fullpage('#fullpage', {
autoScrolling: true,
navigation: true,
scrollBar: false
});
});
fullPage.js строго требует определённой структуры DOM: контейнер с
id="fullpage" и дочерние элементы с классом
section. Нарушение структуры приводит к некорректной работе
прокрутки:
<div id="fullpage">
<div class="section">Секция 1</div>
<div class="section">Секция 2</div>
</div>
Ошибки:
.section внутри
.section без применения .slide для
горизонтальных слайдов.height: auto на родительских контейнерах, что
нарушает авто-прокрутку.Одновременное использование сторонних плагинов скролла, таких как
ScrollMagic, Locomotive Scroll или кастомных
обработчиков wheel, часто вызывает непредсказуемое
поведение. fullPage.js перехватывает события скролла для управления
секциями, поэтому важно:
scrollBar: true, если нужен
стандартный скролл вместе с fullPage.js.responsiveWidth и
responsiveHeight приводит к ломке верстки на маленьких
экранах. Эти опции позволяют отключать fullPage.js при ширине или высоте
экрана ниже заданного порога:new fullpage('#fullpage', {
responsiveWidth: 768,
responsiveHeight: 600
});
px) вместо
относительных (vh) снижает адаптивность.fullPage.js требует, чтобы все секции были на странице в момент
инициализации. Попытка добавить динамический контент через AJAX или
Vue/React компоненты без пересчета через
fullpage_api.reBuild() вызывает ошибки прокрутки и
некорректное позиционирование.
// После добавления новых секций
fullpage_api.reBuild();
scrollingSpeed слишком мала: быстрый
скролл может визуально «перескакивать» секции. Оптимально задавать
значения от 400 до 1000.fitToSection: false без причины:
отключение авто-позиционирования может сломать плавность прокрутки.anchors:
дублирование идентификаторов приводит к сбоям навигации и некорректным
URL.fullPage.js предоставляет множество событий: afterLoad,
onLeave, afterRender. Часто ошибки появляются,
когда разработчик:
section или
slide перед обращением к ним внутри коллбеков.fullpage_api.reBuild(), что приводит к
рассинхронизации.Пример безопасного использования afterLoad:
new fullpage('#fullpage', {
afterLoad: function(origin, destination, direction){
if(destination.index === 2){
// действия для третьей секции
}
}
});
fullPage.js не запрещает CSS-анимации, но:
transition: all с долгим временем на
родительских блоках может конфликтовать с внутренней анимацией
прокрутки.scrollBar: true и сложные
анимации через JS может вызвать рывки.Эти ошибки являются самыми распространёнными при работе с fullPage.js. Их понимание и правильная конфигурация позволяют обеспечить стабильную работу библиотеки на любых проектах, избегая проблем с прокруткой, адаптивностью и динамическим контентом.