①touchstart是点击触发
②touchmove是监听触摸轨迹,会反复触发多次
③touchend则是触摸结束时触发
在做图片滚动时,需要计算滑动距离而非滑动轨迹
因此只利用①+③即可
let layer = document.getElementById('topLayer');
let startX,startY,moveEndX,moveEndY,X,Y;
layer.addEventListener("touchstart",(event => {
console.log('start'+event)
// event.preventDefault();
startX = event.targetTouches[0].pageX;
startY = event.targetTouches[0].pageY;
}))
layer.addEventListener("touchend",(event => {
console.log(event)
// event.preventDefault();
moveEndX = event.changedTouches[0].pageX;
moveEndY = event.changedTouches[0].pageY;
X = moveEndX-startX;
Y = moveEndY-startY;
if(X > 80) this.prevPreview();
if(X < -80) this.nextPreview();
}))