Swipe події на сенсорних пристроях у JavaScript
Кожен день сенсорні пристрої впроваджуються в наше життя. Ці пристрої мають певні події, на відміну від настільного комп’ютера. Однією з таких подій є swipe (свайп). Особливо часто з цим доводиться стикатися при розробці мобільної версії сайту.
Події дотику на сенсорних пристроях дозволяють розробникам виявляти такі жести, як проведення ліворуч, праворуч, угору чи вниз, які зазвичай використовуються для навігації чи взаємодії. Ці події можна реалізувати шляхом відстеження подій touchstart, touchmove і touchend у JavaScript. Зафіксувавши початкову позицію дотику (touchstart) і порівнявши її з кінцевою позицією (touchend), ви можете обчислити напрямок і відстань проведення.
Наприклад, гортання ліворуч відбувається, коли горизонтальна відстань між початковою та кінцевою точками є від’ємною та перевищує визначений поріг. Подібним чином ви можете перевірити вертикальне проведення, порівнявши значення осі Y.
Код:
(() => {
let initialPoint;
let finalPoint;
document.addEventListener('touchstart', function(event) {
initialPoint = event.changedTouches[0];
}, false);
document.addEventListener('touchend', function(event) {
finalPoint = event.changedTouches[0];
let xAbs = Math.abs(initialPoint.pageX - finalPoint.pageX);
let yAbs = Math.abs(initialPoint.pageY - finalPoint.pageY);
if (xAbs > 20 || yAbs > 20) {
if (xAbs > yAbs) {
if (finalPoint.pageX < initialPoint.pageX) {
// to left
} else {
// to right
}
} else {
if (finalPoint.pageY < initialPoint.pageY) {
// to top
} else {
// to down
}
}
}
}, false);
})();
Схожі записи:
-
Як визначити напрямок прокручування (скроллу) на сторінці за допомогою JavaScript
Іноді необхідно визначити напрямок вертикального прокручування (скроллу) на веб-сайті, щоб динамічно змінювати поведінку елементів інтерфейсу. Наприклад, це може бути кор...
-
Ітерація елементів масиву без циклу
Приклади дуже абстрактні, оскільки цикли існують. Наша умова буде такою. Потрібно вибрати всі елементи масиву за заданим атрибутом. Або, якщо сказати точніше, потрібно ві...
-
Робота з файлами cookie в JavaScript
Cookie (cookie, web cookie або cookie браузера) - це рядкова інформація, яку можна зберігати в браузері і передавати на сервер. Максимальний розмір для однієї куки - 409...
Залишити відповідь