JS实现移动端判断上拉和下滑功能
作者:静乐想 时间:2023-07-13 22:05:21
一、手指触屏,利用touchstart和touchend计算前后滑动距离,判断是上拉还是下滑。
二、js中距离:pageY、clientY、offsetY的区别:
offsetY:相对于父节点的偏移距离。
clientY:相对于浏览器,滚轮距离不算在内。
pageY:相对于浏览器,滚轮滚动的距离算在内;本例中,用pageY,触屏时记录位置-startY,结束时记录-endY,两个相减以正负判断是上移还是下滑。
三、touchstart有touches属性,touchend有changedTouches属性,两个属性中分别有pageY、pageX信息。
//滑动处理
var startX, startY;
document.addEventListener('touchstart',function (ev) {
startX = ev.touches[0].pageX;
startY = ev.touches[0].pageY;
}, false);
document.addEventListener('touchend',function (ev) {
var endX, endY;
endX = ev.changedTouches[0].pageX;
endY = ev.changedTouches[0].pageY;
var direction = GetSlideDirection(startX, startY, endX, endY);
switch(direction) {
case 0:
alert("无操作");
break;
case 1:
// 向上
alert("up");
break;
case 2:
// 向下
alert("down");
break;
default:
}
}, false);
四、
function GetSlideDirection(startX, startY, endX, endY) {
var dy = startY - endY;
//var dx = endX - startX;
var result = 0;
if(dy>0) {//向上滑动
result=1;
}else if(dy<0){//向下滑动
result=2;
}
else
{
result=0;
}
return result;
}
总结
以上所述是小编给大家介绍的JS实现移动端判断上拉和下滑功能,希望对大家有所帮助
来源:http://blog.csdn.net/zhengyanan110/article/details/76804730
标签:js,移动端,上拉,下滑
0
投稿
猜你喜欢
Python常用的json标准库
2022-02-26 10:37:52
python中pandas操作apply返回多列的实现
2023-03-04 06:46:44
php遍历CSV类实例
2023-11-01 23:46:26
python的多线程原来可以这样解
2021-02-22 16:12:18
Go语言之嵌入类型详解
2024-02-05 08:39:16
Mootools 1.2教程(11)——Fx.Morph、Fx选项和Fx事件
2008-12-04 16:03:00
Python基于csv模块实现读取与写入csv数据的方法
2023-04-12 23:14:34
Php header()函数语法及使用代码
2023-09-04 13:32:20
MySQL将select结果执行update的实例教程
2024-01-17 14:00:59
新建文件时Pycharm中自动设置头部模板信息的方法
2021-08-18 11:56:46
python 利用openpyxl读取Excel表格中指定的行或列教程
2022-08-06 21:22:54
OpenCV半小时掌握基本操作之腐蚀膨胀
2023-05-29 08:14:35
python中xrange用法分析
2021-10-25 11:51:49
php中session_id()函数详细介绍,会话id生成过程及session id长度
2023-11-24 08:01:00
SQL Server 2000 作数据库服务器的优点
2009-01-23 13:47:00
Python压缩模块zipfile实现原理及用法解析
2023-07-13 03:01:46
Python中函数及默认参数的定义与调用操作实例分析
2022-01-15 05:16:31
常用的Git便捷操作合集
2022-02-19 08:16:47
MySQL高效分页解决方案集分享
2024-01-26 09:29:36
通过百度地图获取公交线路的站点坐标的js代码
2024-04-18 09:28:14