移動端JS判斷手勢方向

2021-09-20 08:30:20 字數 909 閱讀 9129

原生js判斷手勢方向的解決思路:

1、滑動螢幕事件使用html5 的touchstart滑動開始事件和touchend滑動結束事件。

2、方向的判斷,以起點做平面座標系,與終點連線做直線,直線與x正半軸計算角度;我們以45度角為方向分割線,如:只要滑動角度大於等於45度且小於135度,則判斷它方向為向上滑。

3、使用math.atan2來計算起點與終點形成的直線角度。

4、仔細對比標準座標系與螢幕座標系,我們發現,標準座標系,上半軸為負值,要實現轉換,只需要調換y座標起點與終於位置即可。

處理**如下:

function getslideangle(dx, dy)  

//根據起點和終點返回方向 1:向上,2:向下,3:向左,4:向右,0:未滑動 

function getslidedirection(startx, starty, endx, endy)  

var angle = getslideangle(dx, dy); 

if(angle >= -45 && angle < 45) else if (angle >= 45 && angle < 135) else if (angle >= -135 && angle < -45)  

else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135))  

return result; 

} //滑動處理 

var startx, starty; 

document.addeventlistener('touchstart',function (ev) , false); 

document.addeventlistener('touchend',function (ev)  

}, false);

js 判斷手勢 移動端JS判斷手勢方向

原生js判斷手勢方向的解決思路 1 滑動螢幕事件使用html5 的touchstart滑動開始事件和touchend滑動結束事件。2 方向的判斷,以起點做平面座標系,與終點連線做直線,直線與x正半軸計算角度 我們以45度角為方向分割線,如 只要滑動角度大於等於45度且小於135度,則判斷它方向為向上...

js 判斷手勢 移動端JS判斷手勢方向

原生js判斷手勢方向的解決思路 1 滑動螢幕事件使用html5 的touchstart滑動開始事件和touchend滑動結束事件。2 方向的判斷,以起點做平面座標系,與終點連線做直線,直線與x正半軸計算角度 我們以45度角為方向分割線,如 只要滑動角度大於等於45度且小於135度,則判斷它方向為向上...

js判斷手指滑動方向(移動端)

varstartx,starty 獲得角度 function getangle angx,angy 根據起點終點返回方向 1向上 2向下 3向左 4向右 0未滑動 function getdirection startx,starty,endx,endy varangle getangle angx...