Параметр onTop является одной из ключевых возможностей
библиотеки Headroom.js, позволяющей управлять
поведением элемента при прокрутке страницы. Этот параметр представляет
собой функцию обратного вызова (callback), которая срабатывает каждый
раз, когда элемент возвращается в верхнюю часть окна
просмотра, то есть когда страница прокручена к самому
началу.
var myElement = document.querySelector("header");
var headroom = new Headroom(myElement, {
onTop: function() {
console.log("Элемент находится вверху страницы");
}
});
headroom.init();
В этом примере:
myElement — это DOM-элемент, к которому применяется
Headroom.js, обычно это <header> или навигационная
панель.onTop, будет вызвана
каждый раз, когда элемент достигает верхней
позиции.Внутри функции onTop ключевым моментом является контекст
this, который ссылается на экземпляр Headroom. Это
позволяет обращаться к методам и свойствам объекта:
var headroom = new Headroom(document.querySelector("header"), {
onTop: function() {
this.elem.classList.add("highlight-top");
}
});
headroom.init();
this.elem — DOM-элемент, управляемый Headroom.Headroom.js предоставляет несколько callback-параметров:
onPin — срабатывает при показе элемента.onUnpin — срабатывает при скрытии элемента.onTop — срабатывает, когда элемент находится
вверху.onNotTop — срабатывает, когда элемент не в
верхней позиции.Таким образом, onTop специализирован для момента
возвращения к верхней части страницы, что позволяет
реализовывать уникальные визуальные эффекты, например, изменение
прозрачности шапки или возврат первоначального цвета фона.
var header = document.querySelector("header");
var headroom = new Headroom(header, {
onTop: function() {
header.style.backgroundColor = "transparent";
},
onNotTop: function() {
header.style.backgroundColor = "#ffffff";
}
});
headroom.init();
var headroom = new Headroom(document.querySelector("header"), {
onTop: function() {
this.elem.classList.add("slide-down");
},
onNotTop: function() {
this.elem.classList.remove("slide-down");
}
});
headroom.init();
onTop позволяет
плавно возвращать элемент в исходное состояние при прокрутке.onTop может запускать внешние функции или триггерить
события, совместимые с jQuery, GSAP или другими анимационными
библиотеками.onTop, так как callback срабатывает при каждой прокрутке до
верхней позиции.onTop срабатывает при скролле пальцем, что
позволяет реализовать адаптивные эффекты скрытия и показа навигационной
панели даже на небольших экранах.Для отладки рекомендуется временно добавить вывод в консоль:
onTop: function() {
console.log("Top callback сработал");
}
Это позволяет отслеживать момент срабатывания и убедиться, что логика применяется корректно при всех вариантах прокрутки.
Использование onTop в Headroom.js — мощный инструмент
для создания динамичных, отзывчивых интерфейсов, где элементы навигации
реагируют на позицию пользователя на странице, возвращаясь к исходному
виду при достижении верхней точки.