在移動端判斷滑動方向
再我們組內看博客的時候,不小心看到了這么一個相關的標題,一看原來是個草稿,所以自己就利用該標題對其做一個簡單的內容補充。(主要是自己好久沒更新文章了,所以在這里小小的裝一下&&》00《&&)
據自己了解,在移動端判斷滑動方向,主要是根據觸屏的坐標位置來計算的,在觸屏開始時記錄此時的坐標位置,在觸屏結束時再次記錄坐標位置,通過計算可以知道滑動的方向。
這里自己利用了觸屏事件 touchs.
可以開始了吧,首先創建個元素,用于綁定觸屏的事件
<div class="slide" id="slide">
</div>
這里給這個元素綁定兩個事件觸屏開始,觸屏結束
function selele(obj){
return document.getElementById(obj)
}
selele("slide").ontouchstart=function(e){//綁定觸屏開始事件
....
}
selele("slide").ontouchend=function(e){//綁定觸屏結束事件
....
}
在綁定完成后,就需要記錄觸屏開始和結束的位置
var startx=0;//記錄觸屏開始x軸向的位置坐標
var starty=0;//記錄觸屏開始y軸向的位置坐標
var endx=0;//記錄觸屏結束x軸向的位置坐標
var endy=0;//記錄觸屏結束y軸向的位置坐標
function slidestart(e){
startx=e.touches[0].pageX;
starty=e.touches[0].pageY;
}
function slideend(e){
endx=e.changedTouches[0].pageX;
endy=e.changedTouches[0].pageY;
}
記錄結果之后,同時也是觸屏結束時進行位置坐標的計算從而確定滑動方向
function dirresult(){
var x=endx-startx;
var y=endy-starty;
alert("在x軸向滑動:"+x+" || "+"在y軸向滑動:"+y);
}
從而就確定了滑動的方向。
下面是一個完整的demo,其中還包含了移動端的拖動小案例,可供大家參考,望大家多多建議,有更好的方法》-00-《呵呵,望透漏一下。
demo地址https://github.com/lhd1324/touch-slide