js判断手指滑动方向(移动端)
来源:互联网 发布:软件配置管理人员职责 编辑:程序博客网 时间:2024/04/30 08:28
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var startx, starty;
//获得角度
function getAngle(angx, angy) {
return Math.atan2(angy, angx) * 180 / Math.PI;
};
//根据起点终点返回方向 1向上 2向下 3向左 4向右 0未滑动
function getDirection(startx, starty, endx, endy) {
var angx = endx - startx;
var angy = endy - starty;
var result = 0;
//如果滑动距离太短
if (Math.abs(angx) < 2 && Math.abs(angy) < 2) {
return result;
}
var angle = getAngle(angx, angy);
if (angle >= -135 && angle <= -45) {
result = 1;
} else if (angle > 45 && angle < 135) {
result = 2;
} else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
result = 3;
} else if (angle >= -45 && angle <= 45) {
result = 4;
}
return result;
}
//手指接触屏幕
document.addEventListener("touchstart", function(e) {
startx = e.touches[0].pageX;
starty = e.touches[0].pageY;
}, false);
//手指离开屏幕
document.addEventListener("touchend", function(e) {
var endx, endy;
endx = e.changedTouches[0].pageX;
endy = e.changedTouches[0].pageY;
var direction = getDirection(startx, starty, endx, endy);
switch (direction) {
case 0:
alert("未滑动!");
break;
case 1:
alert("向上!")
break;
case 2:
alert("向下!")
break;
case 3:
alert("向左!")
break;
case 4:
alert("向右!")
break;
default:
}
}, false);
</script>
</head>
<body>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var startx, starty;
//获得角度
function getAngle(angx, angy) {
return Math.atan2(angy, angx) * 180 / Math.PI;
};
//根据起点终点返回方向 1向上 2向下 3向左 4向右 0未滑动
function getDirection(startx, starty, endx, endy) {
var angx = endx - startx;
var angy = endy - starty;
var result = 0;
//如果滑动距离太短
if (Math.abs(angx) < 2 && Math.abs(angy) < 2) {
return result;
}
var angle = getAngle(angx, angy);
if (angle >= -135 && angle <= -45) {
result = 1;
} else if (angle > 45 && angle < 135) {
result = 2;
} else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
result = 3;
} else if (angle >= -45 && angle <= 45) {
result = 4;
}
return result;
}
//手指接触屏幕
document.addEventListener("touchstart", function(e) {
startx = e.touches[0].pageX;
starty = e.touches[0].pageY;
}, false);
//手指离开屏幕
document.addEventListener("touchend", function(e) {
var endx, endy;
endx = e.changedTouches[0].pageX;
endy = e.changedTouches[0].pageY;
var direction = getDirection(startx, starty, endx, endy);
switch (direction) {
case 0:
alert("未滑动!");
break;
case 1:
alert("向上!")
break;
case 2:
alert("向下!")
break;
case 3:
alert("向左!")
break;
case 4:
alert("向右!")
break;
default:
}
}, false);
</script>
</head>
<body>
</body>
</html>
0 0
- 移动端js判断手指滑动方向
- js判断手指滑动方向(移动端)
- 移动端网页判断手指触摸滑动的方向
- 对于移动端浏览器touch事件的研究总结(4)判断手指滑动方向
- H5移动端判断手势滑动方向
- 移动端js手指滑动事件初体验
- 1、js原生实现移动端手指滑动轮播图效果
- unity3D中如何分别获取pc端鼠标的滑动方向和andriod移动平台上手指的滑动方向?
- 基于js的无缝轮播图( 移动端手指滑动操作)(扩展:简单的倒计时)
- 移动应用滑动屏幕方向判断解决方案,JS判断手势方向
- 移动应用滑动屏幕方向判断解决方案JS判断手势方向
- 通过OnTouchEvent(Motionevent event)判断手指滑动方向
- Untiy3D笔记之番外篇——判断手指滑动方向
- 判断手指滑动方向 -- Android 学习之路
- 封装判断touch手指滑动方向的函数
- js判断鼠标移动方向
- 移动端手指滑动切换图片框架
- 網頁設計% JS 移动端原生JS实现手指跟随触控滑动
- 请自觉为多态的基类声明virtual析构函数
- 页面选择列表实现逐一添加到容器中
- 同步异步和阻塞非阻塞的区别
- Hibernate做同一个事物中做两次删除问题
- 一句话说明canvas 中的save()和restore()的用途
- js判断手指滑动方向(移动端)
- localtime与localtime_r
- Elasticsearch.Net Nest 5.0.0 用法
- Spring序列化与反序列化
- Android异常:android.os.TransactionTooLargeException
- 题目1481:Is It A Tree?
- Java 大数BigDecimal常用处理
- Linux中rc的含义
- 常用三方总结