本文实例讲述了JS手机端touch事件计算滑动距离的方法。分享给大家供大家参考,具体如下
本文实例讲述了JS手机端touch事件计算滑动距离的方法。分享给大家供大家参考,具体如下:
计算手势在手机屏幕上滑动时,手势滑动的距离,代码如下:
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;
})
}
JS
touch事件
计算
滑动距离