$container.get(0).addEventListener('touchstart', handleTouchStart, false);
$container.get(0).addEventListener('touchmove', handleTouchMove, false);
let xDown = null;
let yDown = null;
function handleTouchStart(evt) {
xDown = evt.touches[0].clientX;
yDown = evt.touches[0].clientY;
}
function handleTouchMove(evt) {
if (!xDown || !yDown) {
return;
}
let xUp = evt.touches[0].clientX;
let yUp = evt.touches[0].clientY;
let xDiff = xDown - xUp;
let yDiff = yDown - yUp;
if (Math.abs(xDiff) > Math.abs(yDiff)) {/*most significant*/
if (xDiff > 0) {
/* left swipe */
let $currentDot = $dot.filter('.' + css.active);
if ($currentDot.index() < $dot.length - 1) {
$dot.eq($currentDot.index() + 1).trigger('click');
} else {
$dot.eq(0).trigger('click');
}
} else {
/* right swipe */
let $currentDot = $dot.filter('.' + css.active);
if ($currentDot.index() > 0) {
$dot.eq($currentDot.index() - 1).trigger('click');
} else {
$dot.eq($dot.length - 1).trigger('click');
}
}
}
/* reset values */
xDown = null;
yDown = null;
}