移動端判斷手勢滑動的方向

來源:互聯網
上載者:User

標籤:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>觸屏手指滑動計算示範--程式員老劉</title></head><body style="font-size:32px;"><div style="width:100%"><h2>觸屏手指滑動方向計算示範</h2><div id="region" style="background-color:yellow;width:100%;height:50%"></div>起始座標<br/><input id="touchStart" style="font-size: 48px;"/><br/>結果計算<br/><input id="touchMove" style="font-size: 48px;"/></div><script type="text/javascript">/* * 程式員老劉 * 功能:計算手指在指定標籤上的滑動的方向 */    var tagId = "region";    var pressX = 0, pressY = 0;    var obj = document.getElementById(tagId);    obj.addEventListener(‘touchmove‘, function(event) {        // 如果這個元素的位置內只有一個手指的話        if (event.targetTouches.length == 1) {            var touch = event.targetTouches[0];            var spanX = touch.pageX - pressX;            var spanY = touch.pageY - pressY;            var direct = "none";            if (Math.abs(spanX) > Math.abs(spanY)) {                //水平方向                if (spanX > 0) {                    direct = "right";//向右                    //do right function                } else {                    direct = "left";//向左                    //do left function                }            } else {                //垂直方向                if (spanY > 0) {                    direct = "down";//向下                    //do down function                } else {                    direct = "up";//向上                    //do up function                }            }            // 把元素放在手指所在的位置            touchMove.value = direct + "(" + spanX + ‘;‘ + spanY + ")";        }    }, false);    obj.addEventListener(‘touchstart‘, function(event) {        // 如果這個元素的位置內只有一個手指的話        if (event.targetTouches.length == 1) {            var touch = event.targetTouches[0];            // 把元素放在手指所在的位置            pressX = touch.pageX;            pressY = touch.pageY;            touchStart.value = pressX + ‘;‘ + pressY;        }    }, false);    /*    obj.addEventListener(‘touchend‘, function(event) {        // 如果這個元素的位置內只有一個手指的話        if (event.targetTouches.length == 1) {            var touch = event.targetTouches[0];            // 把元素放在手指所在的位置            touchEnd.value=touch.pageX + ‘;‘ + touch.pageY;        }    }, false);     */</script></body></html>

  

移動端判斷手勢滑動的方向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.