fullPage.js предоставляет мощный механизм работы с сенсорными событиями, что особенно важно для мобильных устройств и планшетов. Библиотека поддерживает как вертикальные, так и горизонтальные свайпы, обеспечивая плавную навигацию между секциями и слайдами.
Для активации работы с тач-событиями используется опция:
new fullpage('#fullpage', {
touchSensitivity: 15,
normalScrollElements: '.scrollable-element',
bigSectionsDestination: 'top'
});
top,
bottom или null.fullPage.js предоставляет несколько событий, связанных с тач-интерфейсом:
onLeave: function(origin, destination, direction){
if(direction === 'down'){
console.log('Свайп вниз');
} else {
console.log('Свайп вверх');
}
}
afterLoad — вызывается после завершения перехода, включая переход по свайпу. Позволяет запускать анимации или подгружать данные динамически.
afterSlideLoad — событие для слайдов внутри секции, срабатывает после свайпа между горизонтальными слайдами.
Для секций с горизонтальными слайдами важно корректно обрабатывать свайпы:
new fullpage('#fullpage', {
controlArrows: true,
slidesNavigation: true,
loopHorizontal: false,
onSlideLeave: function(section, origin, destination, direction){
console.log('Слайд сменился, направление: ', direction);
}
});
fullPage.js позволяет программно инициировать переход с помощью методов:
fullpage_api.moveSectionUp() — свайп вверхfullpage_api.moveSectionDown() — свайп внизfullpage_api.moveSlideRight() — свайп вправоfullpage_api.moveSlideLeft() — свайп влевоЭти методы могут использоваться в сочетании с кастомными жестами, например при реализации сложных интерактивных элементов.
Чтобы предотвратить нежелательные свайпы на определённых блоках,
можно использовать опцию normalScrollElements:
new fullpage('#fullpage', {
normalScrollElements: '.modal, .map-container'
});
Это позволяет блокам с прокруткой внутри страницы вести себя как обычный скролл, не влияя на основное переключение секций.
fullPage.js корректно обрабатывает:
fitToSection: true)С помощью touchSensitivity и дополнительных событий
можно реализовать:
Пример динамического управления чувствительностью:
fullpage_api.setAllowScrolling(true, 'down');
fullpage_api.setKeyboardScrolling(false);
Методы setAllowScrolling и
setKeyboardScrolling дают возможность гибко управлять как
жестами, так и клавиатурными событиями, предотвращая конфликт с
тач-интерфейсом.