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
投稿
猜你喜欢
把论坛从ACCESS转成SQL版本
2009-04-13 15:59:00
asp常用的SQL命令操作
2007-09-29 12:21:00
显示/隐藏引出的CSS Bug
2010-10-20 20:13:00
使用有趣的自定义标记布局页面
2012-07-12 01:29:03
正则表达式学习笔记
2008-04-15 07:44:00
CSS自定义属性Expression
2011-04-29 14:17:00
想用户所想(感受亚马逊的设计)
2007-08-26 17:09:00
Python命令行解析器argparse详解
2023-06-14 01:08:14
动网论坛验证码改进 加法验证码(ASPJpeg版)
2011-04-10 10:44:00
利用mergeAttributes设置name属性
2009-12-12 18:48:00
丰富段落里的标签
2008-03-16 14:11:00
访问javascript私有变量
2010-01-19 13:56:00
css实现图片倒影效果
2007-11-05 18:29:00
Asp Oracle存储过程返回结果集的代码
2011-04-10 11:16:00
动态载入asp树源码
2007-09-06 19:34:00
彻底终结浏览器Cache页面的解决方案
2008-04-21 15:10:00
PHP将amr音频文件转换为mp3格式的操作细节
2023-06-15 22:20:35
python中的global关键字的使用方法
2023-07-15 13:26:50
asp如何将产生的密码记录并发送给用户?
2009-11-26 20:50:00
PHP实时统计中文字数和区别
2023-07-13 10:44:01