這次帶給大家touch事件如何取得滑動距離長度,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; }) }
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是touch事件如何取得滑動距離長度的詳細內容。更多資訊請關注PHP中文網其他相關文章!