Nell’articolo di oggi vediamo come identificare le gesture swipe con javascript vanilla, senza plugin o altre librerie. Potrebbe risultare molto utile sopratutto oggi che il lo sviluppo mobile è diventato predominante rispetto a quello desktop.
Per identificare lo swipe mobile (o le gesture in genere) esistono svariati plugin o metodi. Il più famoso è sicuramente Touch Swipe che usa le librerie jQuery come dipendenza (e questo ahimè è un grosso limite). Ma se volessimo aggiungere un controllo swipe utilizzando js “puro” senza plugin o altre dipendenze?
Codice per gesture swipe con javascript vanilla
document.addEventListener('touchstart', handleTouchStart, false); //bind & fire - evento di inizio tocco
document.addEventListener('touchmove', handleTouchMove, false); // bind & fire - evento di movimento durante il tocco
var xDown = null;
var yDown = null;
function handleTouchStart(evt) {
xDown = evt.touches[0].clientX;
yDown = evt.touches[0].clientY;
};
function handleTouchMove(evt) {
if ( ! xDown || ! yDown ) {
return;
} //nessun movimento
var xUp = evt.touches[0].clientX;
var yUp = evt.touches[0].clientY;
var xDiff = xDown - xUp;
var yDiff = yDown - yUp;
if ( Math.abs( xDiff ) > Math.abs( yDiff ) ) {/*Trovo quello più significativo sulle assi X e Y*/
if ( xDiff > 0 ) {
/* swipe sinistra */
console.log("Swipe SINISTRA");
} else {
/* swipe destra */
console.log("Swipe DESTRA");
}//right
} else {
if ( yDiff > 0 ) {
/* swipe alto */
console.log("Swipe ALTO");
} else {
/* swipe basso */
console.log("Swipe BASSO");
}
}
/* reset values */
xDown = null;
yDown = null;
};
//Gesture
Come sempre vi invito a visionare i commenti al codice per un tutorial passo-passo.
Il codice è pronto all’uso e può essere incollato ovunque, anche su progetti senza jQuery o altre librerie installate.
Se volete fare debug e verificarne il funzionamento, una volta incollato in pagina all’interno di appositi tag script, andando su ispeziona elemento -> Toggle Device (per simulare un dispositivo touch ready, altrimenti non funziona su Desktop!).
Dopodichè simulate lo swipe con il mouse e vedrete nella scheda CONSOLE tutto il debug 😉
Vuoi sviluppare le tue app o adattare il tuo sito all’universo mobile? Contattami senza impegno.
Questo articolo ti è stato utile? Condividilo oppure leggi altre guide javascript







Bravissimo! Funziona a meraviglia! Forse avrei aggiunto, come ho dovuto fare nel mio codice, un pezzo di codice per capire su quale elemento è partito lo swipe