js判断元素滑动方向(上下左右)移动端

每天学习一点点。

1 var startx, starty;
 2     //获得角度
 3     function getAngle(angx, angy) {
 4         return Math.atan2(angy, angx) * 180 / Math.PI;
 5     };
 6
 7     //根据起点终点返回方向 1向上 2向下 3向左 4向右 0未滑动
 8     function getDirection(startx, starty, endx, endy) {
 9         var angx = endx - startx;
10         var angy = endy - starty;
11         var result = 0;
12
13         //如果滑动距离太短
14         if (Math.abs(angx) < 2 && Math.abs(angy) < 2) {
15             return result;
16         }
17
18         var angle = getAngle(angx, angy);
19         if (angle >= -135 && angle <= -45) {
20             result = 1;
21         } else if (angle > 45 && angle < 135) {
22             result = 2;
23         } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
24             result = 3;
25         } else if (angle >= -45 && angle <= 45) {
26             result = 4;
27         }
28
29         return result;
30     }
31     //手指接触屏幕
32     document.addEventListener("touchstart", function(e) {
33         startx = e.touches[0].pageX;
34         starty = e.touches[0].pageY;
35     }, false);
36     //手指离开屏幕
37     document.addEventListener("touchend", function(e) {
38         var endx, endy;
39         endx = e.changedTouches[0].pageX;
40         endy = e.changedTouches[0].pageY;
41         var direction = getDirection(startx, starty, endx, endy);
42         switch (direction) {
43             case 0:
44                 alert("未滑动!");
45                 break;
46             case 1:
47                 alert("向上!")
48                 break;
49             case 2:
50                 alert("向下!")
51                 break;
52             case 3:
53                 alert("向左!")
54                 break;
55             case 4:
56                 alert("向右!")
57                 break;
58             default:
59         }
60     }, false);

原文地址:http://www.cnblogs.com/beiz/p/5817192.html

时间: 2024-11-06 07:17:51

js判断元素滑动方向(上下左右)移动端的相关文章

《移动端浏览器Touch事件判断手指滑动方向方法》

1 $("body").on("touchstart", function(e) { 2     e.preventDefault(); 3     startX = e.originalEvent.changedTouches[0].pageX, 4     startY = e.originalEvent.changedTouches[0].pageY; 5 }); 6 $("body").on("touchmove",

js判断元素是否是disable状态

js判断元素是否是disable状态 jquery判断元素状态用$(select).prop(属性值) == true js判断button是否可以点击: //判断button是否为不可点击状态 if($("#buyButton").prop("disabled") == true){} //判断button是否为不可点击状态 if($("#buyButton").prop('disabled') != true){} /** * 购买按钮失效

Js - 判断元素是否隐藏、显示

判断元素是否隐藏.显示的方法,需要的朋友可以参考下 : 1.通过判断元素display属性状态值来实现 console.log($('div').css("display"));       // inlineif($('div').css("display") != 'none') { console.log('aaaaa');       // aaaaa $('div').hide();         console.log($('div').css(&qu

js 判断元素是否在列表中

判断元素是否在列表中 isInArray()判断输入的数值是否在数组中: /** * 使用循环的方式判断一个元素是否存在于一个数组中 * @param {Object} arr 数组 * @param {Object} value 元素值 */ function isInArray(arr,value){ for(var i = 0; i < arr.length; i++){ if(value === arr[i]){ return true; } } return false; } 使用:

关于js判断鼠标移入元素的方向——上下左右

一开始我是这么想的,将待移入的元素分割四块,用mousemove获取第一次鼠标落入的区域来判断鼠标是从哪个方向进去的. 所以只要写个算法来判断鼠标的值落入该元素的区域就可以得出鼠标移入的方向,如下图: 对于数学不太好的我,只能上网找下看有没有人解决了.找到了如下这段: var x = (e.pageX - this.offsetLeft - (w / 2)) * (w > h ? (h / w) : 1); var y = (e.pageY - this.offsetTop - (h / 2))

Android 判断ListView滑动方向

代码很简单,给mListView监听onScrollListener事件,然后在onScroll进行判断 //listView中第一项的索引 private int mListViewFirstItem = 0; //listView中第一项的在屏幕中的位置 private int mScreenY = 0; //是否向上滚动 private boolean mIsScrollToUp = false; @Override public void onScroll(AbsListView abs

js判断元素是否在可视区域里

js部分: //监听滚动条滑动距离 $(window).on('scroll', function(){ var scrollTop = $(document).scrollTop() var lines = $('.el_line') if (scrollTop >= 380){ $('.el_topNav').css('opacity',1) } else { $('.el_topNav').css('opacity',0) } for (var i = 0; i < lines.leng

js 判断元素(例如div)里的数据显示不全(数据长度大于元素长度)

//判断div里元素是否超出长度,true 超出,false 没有 dom=document.getElementById('id');function isEllipsis(dom) {    var checkDom = dom.cloneNode(), parent, flag;     checkDom.style.width = dom.offsetWidth + 'px';    checkDom.style.height = dom.offsetHeight + 'px';   

JS判断元素是否在数组内

一.jQuery 如果是用JQuery的话,可以用inArray()函数: jquery inarray()函数详解jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index of the first parameter in the array (-1 if not found).返回值jquery参数value (any) : 用于在数组中查找是否存在array (array) : 待处理数组.