Параметр enabled в библиотеке Waypoints
отвечает за управление активностью конкретного waypoint. Он позволяет
включать или отключать обработку события, связанного с появлением
элемента в области видимости, без удаления самого waypoint и без
необходимости переписывать логику скролла.
enabled является логическим свойством объекта waypoint.
Его значение может быть:
true — waypoint активен, события срабатывают при
достижении позиции элемента;false — waypoint временно деактивирован, скроллинг не
вызывает обработчики.Использование enabled позволяет:
enabledvar waypoint = new Waypoint({
element: document.getElementById('section1'),
handler: function(direction) {
console.log('Waypoint сработал при скролле', direction);
},
enabled: true
});
По умолчанию waypoint создается активным. Присвоение
enabled: false при инициализации сразу блокирует его.
enabledWaypoints предоставляет встроенные методы для включения и отключения waypoint:
waypoint.disable()Отключает waypoint, эквивалентно установке
enabled = false.
waypoint.disable();
console.log(waypoint.enabled); // false
После вызова disable() waypoint перестает реагировать на
скролл.
waypoint.enable()Включает waypoint, эквивалентно установке
enabled = true.
waypoint.enable();
console.log(waypoint.enabled); // true
После вызова enable() waypoint снова активен и
срабатывает при пересечении элемента.
Деактивация waypoint после первого срабатывания
var firstWaypoint = new Waypoint({
element: document.getElementById('intro'),
handler: function(direction) {
console.log('Сработал первый waypoint!');
this.disable(); // Деактивируем после первого вызова
}
});
Включение waypoint при определенном условии
var sectionWaypoint = new Waypoint({
element: document.getElementById('section2'),
handler: function(direction) {
if (direction === 'down') {
console.log('Секция активна только при скролле вниз');
this.disable(); // Отключаем, чтобы не срабатывал снова
}
}
});
// Позже можно снова включить waypoint
setTimeout(() => {
sectionWaypoint.enable();
}, 5000);
enabled действует только на конкретный объект.destroy(), disable(), enable()
могут использоваться в зависимости от состояния страницы.При установке enabled = false библиотека:
handler до повторного
включения;Это позволяет динамически управлять поведением скролл-триггеров без пересоздания объектов.
handler с disable(), чтобы waypoint не
срабатывал повторно.enabledenabled является ключевым инструментом для управления
активностью waypoint без их удаления. Использование
disable() и enable() позволяет гибко
контролировать события скролла, предотвращать ненужные срабатывания и
улучшать производительность, особенно на страницах с большим количеством
waypoint’ов.