移動端網頁判斷手指觸控滑動的方向

2021-07-09 09:03:14 字數 856 閱讀 5097

判斷使用者手指滑動的方向,一種比較通用的解決方法就是,記錄使用者手指剛接觸螢幕的位置,然後減去使用者手指離開螢幕的位置,然後判斷這個值的正負。

$("body").on("touchstart", function(e) );

$("body").on("touchmove", function(e)

else if ( x < 0 )

else if ( y > 0)

else if ( y < 0 )

else

});

判斷很簡單,touchmove的最後座標減去touchstart的起始座標,x的結果如果正數,則說明手指是從左往右划動;x的結果如果負數,則說明手指是從右往左划動;y的結果如果正數,則說明手指是從上往下划動;y的結果如果負數,則說明手指是從下往上划動。

這再邏輯上沒有任何問題。但在實際操作中,手指的上下滑動其實是很難直上直下的,只要稍微有點斜,就會被x軸的判斷先行接管。

那麼接下來我們就需要梁逸峰同學附體,加上特別的判斷技巧:

$("body").on("touchstart", function(e) );

$("body").on("touchmove", function(e)

else if ( math.abs(x) > math.abs(y) && x < 0 )

else if ( math.abs(y) > math.abs(x) && y > 0)

else if ( math.abs(y) > math.abs(x) && y < 0 )

else

});

增加的判斷也很簡單,無非就是判斷哪個的差值比較大。這樣一來基本上就不會出錯了。

本文系作者

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

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

Swiper 移動端觸控滑動外掛程式

1.首先載入外掛程式,需要用到的檔案有swiper.min.js和swiper.min.css檔案。如果你的頁面載入了jquery.js或者zepto.js,你可以選擇使用更輕便的swiper.jquery.min.js。2.html內容。slide 2 slide 3 導航等元件可以放在conta...

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

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