Easing-функции управляют скоростью и плавностью анимации прокрутки между секциями и слайдами в fullPage.js. Они задают, как изменяется скорость анимации во времени: может быть равномерной, ускоряться, замедляться или сочетать эти эффекты. Правильный выбор easing-функции позволяет создавать естественные и комфортные визуальные переходы, улучшая UX.
В fullPage.js easing-функция задается через параметр
easing при инициализации плагина:
new fullpage('#fullpage', {
autoScrolling: true,
scrollHorizontally: true,
easing: 'easeInOutCubic',
easingcss3: 'ease-in-out'
});
easing — используется для
JavaScript-анимации (если css3: false или браузер не
поддерживает CSS3).easingcss3 — используется для
CSS3-анимации (css3: true), поддерживающей аппаратное
ускорение.FullPage.js использует набор стандартных easing-функций:
| Функция | Описание |
|---|---|
linear |
Равномерная скорость, без ускорения и замедления. |
easeInQuad |
Анимация начинается медленно и ускоряется к концу. |
easeOutQuad |
Анимация начинается быстро и замедляется к концу. |
easeInOutQuad |
Сочетание ускорения и замедления, плавный старт и остановка. |
easeInCubic |
Медленное начало, ускорение к концу более заметное. |
easeOutCubic |
Быстрый старт, плавная остановка. |
easeInOutCubic |
Плавное ускорение и замедление с мягким переходом. |
easeInQuart, easeOutQuart,
easeInOutQuart |
Усиленное ускорение и замедление, более драматичная динамика. |
easeInQuint, easeOutQuint,
easeInOutQuint |
Экстремальная вариативность скорости для эффектных переходов. |
easing)
выполняется с помощью requestAnimationFrame и обеспечивает
плавную прокрутку даже на старых браузерах.easingcss3) использует
свойства transition-timing-function и позволяет аппаратное
ускорение GPU, что повышает производительность и плавность на
современных устройствах.Рекомендуется использовать
easingcss3для большей производительности, если проект рассчитан на современные браузеры.
new fullpage('#fullpage', {
autoScrolling: true,
easingcss3: 'ease-in-out',
scrollingSpeed: 700
});
Прокрутка между секциями длится 700 мс, ускорение плавное в начале и замедление в конце.
new fullpage('#fullpage', {
autoScrolling: true,
easingcss3: 'linear',
scrollingSpeed: 500
});
Прямолинейное движение без ускорения, скорость постоянная на протяжении всей анимации.
new fullpage('#fullpage', {
autoScrolling: true,
easingcss3: 'ease-in',
scrollingSpeed: 600
});
Анимация начинается медленно, затем ускоряется к середине.
FullPage.js позволяет подключать собственные функции easing через JavaScript, если требуется уникальная динамика:
function customEasing(t) {
return t < 0.5 ? 4*t*t*t : 1 - Math.pow(-2*t + 2, 3)/2;
}
new fullpage('#fullpage', {
autoScrolling: true,
easing: customEasing,
scrollingSpeed: 800
});
t — это прогресс анимации от 0 до 1.Параметр scrollingSpeed задаёт длительность
прокрутки в миллисекундах. Easing-функция будет распределять
эту длительность по выбранной кривой. Чем выше скорость, тем менее
заметна плавность, особенно при использовании линейного easing.
new fullpage('#fullpage', {
autoScrolling: true,
easingcss3: 'ease-in-out',
scrollingSpeed: 1200 // длинная анимация, плавность ощущается лучше
});
easeInOutCubic,
easeInOutQuad для естественных переходов.easeInQuint,
easeOutQuint для более драматичных эффектов.linear для
минималистичных проектов, где важна скорость.easeInOutCubic), чтобы движение не
выглядело резким.Easing-функции в fullPage.js — это инструмент контроля темпа и характера прокрутки, который напрямую влияет на восприятие интерфейса. Использование JavaScript или CSS3-анимации, настройка скорости и кривой перехода позволяют создавать как минималистичные, так и визуально эффектные сайты с высокой отзывчивостью и плавностью.