Метод reBuild является одной из ключевых функций
библиотеки fullPage.js, предназначенной для управления
и обновления структуры страниц с секциями и слайдами. Он используется
для пересчета размеров и повторной инициализации
плагина после изменений в DOM, которые могут повлиять на работу
скроллинга или расположение элементов.
fullpage_api.reBuild();
undefined.Динамическое добавление секций Если после
инициализации fullPage.js добавляется новая секция в DOM, стандартный
скроллинг и навигация по секциям может работать некорректно. Вызов
reBuild() позволяет пересчитать высоты и позиции
всех секций, чтобы новые элементы корректно интегрировались в
прокрутку.
Изменение размеров контейнеров или контента При
динамическом изменении высоты секций, например при загрузке изображений
или динамического текста, библиотека может неправильно рассчитывать
позиции. reBuild() обеспечивает пересчет размеров и
выравнивание секций, предотвращая появление пустых промежутков
или неправильной прокрутки.
Адаптация после изменения CSS Если обновляются стили, влияющие на высоту секций (например, padding, margin, flex-контейнеры), метод пересчитывает размеры, чтобы интерфейс оставался корректным на всех устройствах.
При вызове reBuild() fullPage.js выполняет следующие
действия:
Метод reBuild() часто применяется вместе с динамическими
методами библиотеки:
addSection / removeSection — для
добавления или удаления секций;update — для частичной перезагрузки отдельных
параметров (например, после изменения настроек);responsive — для адаптивных сценариев, когда макет
меняется при изменении ширины окна.Пример использования с добавлением секции:
fullpage_api.addSection('<div class="section">Новая секция</div>');
fullpage_api.reBuild();
reBuild() может быть ресурсозатратным на
страницах с большим количеством секций и сложными анимациями,
поэтому рекомендуется использовать его только при изменении
DOM, влияющем на размеры или порядок секций.update() для обновления внутренних
элементов без полной переработки скроллинга.1. Динамическая загрузка контента:
fetch('/api/sections')
.then(res => res.json())
.then(data => {
data.forEach(item => {
const section = document.createElement('div');
section.classList.add('section');
section.innerHTML = `<h2>${item.title}</h2><p>${item.text}</p>`;
document.querySelector('#fullpage').appendChild(section);
});
fullpage_api.reBuild();
});
2. Изменение размеров после асинхронной загрузки изображений:
const images = document.querySelectorAll('.section img');
let loadedCount = 0;
images.forEach(img => {
img.onl oad = () => {
loadedCount++;
if (loadedCount === images.length) {
fullpage_api.reBuild();
}
};
});
3. Адаптация под мобильные устройства при изменении ширины окна:
window.addEventListener('resize', () => {
fullpage_api.reBuild();
});
Метод reBuild обеспечивает стабильную работу
fullPage.js при динамических изменениях DOM и является
обязательным инструментом для страниц с интерактивным и адаптивным
контентом. Его использование гарантирует, что секции и слайды будут
корректно отображаться, а скроллинг оставаться плавным и
предсказуемым.