NazariyM
1/16/2018 - 10:36 PM

detect swipe, touch

$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;
			}