JS手机端touch事件计算滑动距离的方法

本文介绍了一种计算手机屏幕上手势滑动距离的方法,通过监听touchstart、touchmove和touchend事件,记录滑动起点和终点坐标,进而计算出滑动距离。当滑动距离超过屏幕高度的20%时,将触发特定操作。
摘要由CSDN通过智能技术生成

计算手势在手机屏幕上滑动时,手势滑动的距离,代码如下:

function wetherScroll(){
var startX = startY = endX =endY =0;
var body=document.getElementsByTagName(“body”);
body.bind(‘touchstart’,function(event){
var touch = event.targetTouches[0];
//滑动起点的坐标
startX = touch.pageX;
startY = touch.pageY;
// console.log(“startX:”+startX+","+“startY:”+startY);
});
body.bind(“touchmove”,function(event){
var touch = event.targetTouches[0];
//手势滑动时,手势坐标不断变化,取最后一点的坐标为最终的终点坐标
endX = touch.pageX;
endY = touch.pageY;
// console.log(“endX:”+endX+","+“endY:”+endY);
})
body.bind(“touchend”,function(event){
var distanceX=endX-startX,
distanceY=endY - startY;
// console.log(“distanceX:”+distanceX+","+“distanceY:”+distanceY);
//移动端设备的屏幕宽度
var clientHeight; =document.documentElement.clientHeight;
// console.log(clientHeight;0.2);
//判断是否滑动了,而不是屏幕上单击了
if(startY!=Math.abs(distanceY)){
//在滑动的距离超过屏幕高度的20%时,做某种操作
if(Math.abs(distanceY)>clientHeight
0.2){
//向下滑实行函数someAction1,向上滑实行函数someAction2
distanceY <0 ? someAction1():someAction2();
}
}
startX = startY = endX =endY =0;
})
}

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值