В библиотеке Headroom.js параметр
onNotBottom используется для обработки ситуации, когда
пользователь перестаёт находиться в нижней части страницы. Этот параметр
представляет собой функцию обратного вызова (callback),
которая вызывается каждый раз, когда шапка перестаёт быть на нижнем краю
документа после прокрутки.
var headroom = new Headroom(element, {
onNotBottom: function() {
// логика, выполняемая при выходе из нижней позиции
}
});
headroom.init();
element — HTML-элемент, на котором инициализируется
Headroom, обычно это <header> или
<nav>.onNotBottom — функция без параметров, которая
выполняется только при покидании нижней границы
страницы.onBottom,
который срабатывает при достижении нижней границы.var header = document.querySelector("header");
var headroom = new Headroom(header, {
tolerance: {
up: 10,
down: 10
},
onBottom: function() {
header.style.backgroundColor = "transparent";
},
onNotBottom: function() {
header.style.backgroundColor = "rgba(0, 0, 0, 0.8)";
}
});
headroom.init();
В этом примере:
onBottom) шапка
становится прозрачной.onNotBottom, и шапка
получает полупрозрачный чёрный фон.Совместимость с другими параметрами Параметр
onNotBottom не конфликтует с onTop,
onNotTop, onUnpin и onPin. Он
работает исключительно в отношении нижней границы страницы.
Точность срабатывания onNotBottom
срабатывает только при фактическом уходе от нижней
границы, а не при каждом движении прокрутки вверх. Это важно
для оптимизации производительности: функции обратного вызова не
вызываются лишний раз.
Использование с динамическими элементами Если
контент страницы динамически изменяется и высота документа
увеличивается, Headroom автоматически корректирует срабатывание
onNotBottom и onBottom. Это позволяет шапке
оставаться реактивной к изменениям DOM.
Интеграция с анимациями Функция
onNotBottom часто используется для плавного включения
анимаций при прокрутке вверх. Например, можно добавлять класс
visible к шапке:
onNotBottom: function() {
header.classList.add("visible");
}
visible задаются анимации
появления:header {
transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
header.visible {
transform: translateY(0);
opacity: 1;
}
onNotBottom для изменения состояния шапки,
когда нижний предел страницы больше не достигнут.tolerance —
небольшая задержка предотвращает дергание интерфейса.onBottom для создания интерактивных
эффектов появления/исчезновения элементов.Параметр onNotBottom является ключевым для управления
поведением шапки при прокрутке вверх после достижения нижней границы
страницы. Его правильное использование позволяет создавать
интуитивно понятные, динамичные интерфейсы, которые
реагируют на действия пользователя без лишних перерисовок или конфликтов
с другими событиями Headroom.js.