Метод moveSectionDown библиотеки
fullPage.js используется для программного управления
навигацией между секциями вертикального скроллинга. Он инициирует
плавный переход к следующей секции страницы, имитируя поведение
стандартного скролла вниз, но с возможностью управления через код.
fullpage_api.moveSectionDown();
fullpage_api — глобальный объект, предоставляемый
fullPage.js после инициализации.undefined, но инициирует анимацию перехода к
следующей секции.Если текущая секция не последняя, страница плавно прокрутится к следующей секции.
Если текущая секция последняя:
loopBottom: true —
произойдет переход на первую секцию.loopBottom: false — переход не произойдет, метод
просто завершит выполнение без ошибки.new fullpage('#fullpage', {
navigation: true,
loopBottom: true,
scrollingSpeed: 700
});
// Переход к следующей секции по клику кнопки
document.querySelector('#nextBtn').addEventListener('click', () => {
fullpage_api.moveSectionDown();
});
В этом примере метод moveSectionDown привязан к кнопке с
id="nextBtn". При каждом клике происходит анимация
прокрутки к следующей секции со скоростью, указанной в параметре
scrollingSpeed.
Если секции добавляются динамически после инициализации fullPage.js, важно использовать метод reBuild(), чтобы обновить внутренние данные библиотеки:
fullpage_api.reBuild();
fullpage_api.moveSectionDown();
Без вызова reBuild fullPage.js может некорректно
определить количество секций, и moveSectionDown может не
сработать.
Метод moveSectionDown удобно комбинировать с другими
методами API:
moveSectionUp() — переход к предыдущей секции.moveTo(section, slide) — переход к конкретной секции
или слайду.silentMoveTo(section, slide) — переход без
анимации.Пример навигации по кнопкам:
document.querySelector('#prevBtn').addEventListener('click', () => {
fullpage_api.moveSectionUp();
});
document.querySelector('#firstSectionBtn').addEventListener('click', () => {
fullpage_api.moveTo(1);
});
scrollingSpeed — определяет
длительность анимации перехода.autoScrolling — если
false, метод все равно сработает, но поведение скролла
может быть менее плавным, так как страница будет прокручиваться обычным
способом.loopBottom — влияет на поведение при
достижении последней секции.Не рекомендуется вызывать moveSectionDown
часто в короткий промежуток времени, так как анимация
может накладываться и возникнет визуальный баг.
Для контроля переходов в реальном времени лучше использовать события:
onLeave(origin, destination, direction) — срабатывает
перед сменой секции.afterLoad(origin, destination, direction) — срабатывает
после завершения анимации.new fullpage('#fullpage', {
onLeave: function(origin, destination, direction){
console.log('Переход из секции', origin.index, 'в секцию', destination.index);
}
});
// Переход к следующей секции программно
fullpage_api.moveSectionDown();
Событие onLeave позволяет отслеживать текущую секцию,
предотвращать переход или запускать дополнительные действия (анимации,
загрузку данных) перед прокруткой.
Метод moveSectionDown предоставляет простой способ
программно управлять вертикальной навигацией по секциям. Он полностью
интегрируется с параметрами библиотеки и событиями, обеспечивая гибкость
при построении интерактивного контента на страницах с секционным
скроллом.
Ключевые моменты:
loopBottom,
scrollingSpeed и autoScrolling.