Событие onSlideLeave является одним из ключевых колбеков
библиотеки fullPage.js, предназначенным для работы с
горизонтальными слайдами внутри секций. Оно вызывается перед
уходом с текущего слайда на следующий или предыдущий, позволяя
выполнять кастомные действия в момент смены слайдов.
new fullpage('#fullpage', {
sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', 'whitesmoke', '#ccddff'],
slidesNavigation: true,
onSlideLeave: function(section, origin, destination, direction){
console.log('Текущий слайд:', origin.index);
console.log('Следующий слайд:', destination.index);
console.log('Направление:', direction);
}
});
onSlideLeaveКолбек onSlideLeave принимает четыре
параметра, каждый из которых предоставляет подробную информацию
о происходящей смене слайдов:
section – объект секции, в которой происходит смена слайда. Содержит информацию о текущей секции, её индекс, DOM-элемент и дочерние слайды.
section.index – порядковый номер секции.section.item – DOM-элемент секции.origin – объект слайда, с которого осуществляется уход.
origin.index – индекс текущего слайда.origin.item – DOM-элемент текущего слайда.destination – объект слайда, на который осуществляется переход.
destination.index – индекс целевого слайда.destination.item – DOM-элемент целевого слайда.direction – направление перехода
('left' или 'right'). Это позволяет выполнять
различные действия в зависимости от того, движется пользователь вперед
или назад.
onSlideLeave: function(section, origin, destination, direction){
origin.item.querySelector('.slide-content').classList.remove('active');
destination.item.querySelector('.slide-content').classList.add('active');
}
Позволяет скрывать элементы текущего слайда и активировать анимацию на следующем.
onSlideLeave: function(section, origin, destination, direction){
console.log(`Пользователь покинул слайд ${origin.index} и перешел на ${destination.index}`);
// Можно отправлять данные в аналитические сервисы
}
Применяется для сбора информации о взаимодействии пользователя с сайтом.
onSlideLeave: function(section, origin, destination, direction){
if(destination.index === 2 && section.index === 1){
loadDynamicContent(destination.item);
}
}
Позволяет загружать данные только при переходе на конкретный слайд, экономя ресурсы и оптимизируя загрузку страницы.
onSlideLeave выполняется перед событием
afterSlideLoad, что дает возможность
подготовить слайд к отображению, изменить его
содержимое или анимацию до момента полной загрузки.onLeave и afterLoad.transitionend для точной синхронизации.onSlideLeave, но
можно использовать проверку условий и управлять содержимым слайдов до
анимации.onSlideLeave, чтобы избежать задержек и
некорректного отображения слайдов.new fullpage('#fullpage', {
sectionsColor: ['#282c34', '#ff5f45', '#0798ec'],
slidesNavigation: true,
onSlideLeave: function(section, origin, destination, direction){
// Деактивация текущего слайда
origin.item.classList.remove('active-slide');
// Активация следующего слайда
destination.item.classList.add('active-slide');
// Запуск кастомной функции при переходе вправо
if(direction === 'right'){
animateSlideContent(destination.item);
}
// Логирование для отладки
console.log(`Смена слайда ${origin.index} → ${destination.index}, направление: ${direction}`);
}
});
Этот пример показывает полное управление поведением слайдов: активация/деактивация, запуск анимаций и аналитическое отслеживание переходов.
onSlideLeave — мощный инструмент для управления
горизонтальными слайдами, позволяющий создавать динамичные,
интерактивные интерфейсы, синхронизировать контент и расширять
стандартные возможности fullPage.js.