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;
        })
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值