Библиотека AOS (Animate on Scroll) предоставляет
мощный инструмент для анимации элементов при прокрутке страницы. Одной
из ключевых особенностей является система событий, которая позволяет
отслеживать момент появления и исчезновения элементов из видимой области
окна браузера. Событие aos:out отвечает именно за
фиксирование момента, когда элемент покидает область
видимости. Это событие полезно для реализации обратной логики
анимаций, динамического изменения состояния элементов или запуска
сторонних скриптов при уходе элемента с экрана.
aos:outСобытие aos:out срабатывает один раз каждый раз,
когда элемент перестаёт быть видимым пользователю в области
просмотра. Оно противоположно событию aos:in, которое
фиксирует появление элемента.
Ключевые моменты:
Для отслеживания события aos:out используется
стандартный синтаксис JavaScript для работы с событиями DOM:
document.addEventListener('aos:out', function(event) {
// event.detail содержит ссылку на элемент, который покинул экран
const element = event.detail;
console.log('Элемент покинул видимую область:', element);
});
Пояснение:
event.detail — объект, который содержит ссылку
на элемент, покинувший область просмотра.Событие aos:out часто применяется для:
document.addEventListener('aos:out', function(event) {
const element = event.detail;
// Сброс текущей анимации
element.classList.remove('aos-animate');
// Позже элемент снова анимируется при появлении
});
document.addEventListener('aos:out', function(event) {
const element = event.detail;
element.style.opacity = 0.3; // Делает элемент менее заметным
});
document.addEventListener('aos:out', function(event) {
const element = event.detail;
myCustomFunction(element);
});
function myCustomFunction(el) {
// Любая логика, например, подсчёт ушедших с экрана элементов
console.log('Элемент ушёл с экрана:', el.id);
}
aos:inДля создания полноценного контроля над жизненным циклом анимаций AOS
рекомендуется использовать aos:out вместе с
aos:in:
document.addEventListener('aos:in', function(event) {
const el = event.detail;
el.style.opacity = 1; // Элемент полностью видим
});
document.addEventListener('aos:out', function(event) {
const el = event.detail;
el.style.opacity = 0.5; // Элемент частично или полностью покинул экран
});
Такой подход позволяет реализовать двусторонние анимации, когда элемент реагирует не только на появление, но и на исчезновение.
aos:out не срабатывает до инициализации AOS.
Инициализация должна быть выполнена через AOS.init():AOS.init({
duration: 800,
once: false, // Позволяет анимации повторно срабатывать
});
once: true отключает повторное срабатывание
анимации и, соответственно, события aos:out для повторного
выхода элемента.Событие aos:out является мощным инструментом для точного
контроля визуальных эффектов на странице и обеспечивает высокую гибкость
при работе с динамическими интерфейсами и анимациями.