在移动端判断手指的移动方向
移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成。但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件。处理touch事件能跟踪到屏幕滑动的每根手指。
以下是touch事件
touchstart: //手指放到屏幕上时触发
touchmove: //手指在屏幕上滑动式触发
touchend: //手指离开屏幕时触发
一般吧下列代码写上,具体意思可以参照写了另一篇文章
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <title></title> <style type="text/css"> div { height: 140px; width: 100%; background-color: red; } </style> </head> <body> <div> </div> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> var startX,startY,moveX,moveY //touchstart : 手指放到屏幕上时触发 $("div").on("touchstart", function(event) { // 判断默认行为是否可以被禁用 if(event.cancelable) { // 判断默认行为是否已经被禁用 if(!event.defaultPrevented) { event.preventDefault(); } } //触发touchstart事件后,会产生一个event对象,event对象里包括触摸列表,获得屏幕上的第一个touch startX = event.originalEvent.changedTouches[0].pageX, startY = event.originalEvent.changedTouches[0].pageY; //刚触摸屏幕时可以弹出我们的坐标,看一下效果 // alert(startX+" "+startY) }); $("div").on("touchmove", function(event) { // 判断默认行为是否可以被禁用 if(event.cancelable) { // 判断默认行为是否已经被禁用 if(!event.defaultPrevented) { event.preventDefault(); } } //触发touchstart事件后,会产生一个event对象,event对象里包括触摸列表,获得屏幕上的第一个touch moveX = event.originalEvent.changedTouches[0].pageX, moveY = event.originalEvent.changedTouches[0].pageY; //我们刚开始可以把坐标输出到页面当中,每当我们按住屏幕移动一下,坐标都会变动。moveX,moveY值就是当我们离开屏幕时的值, //document.getElementsByTagName("div")[0].innerHTML=(moveX+" "+moveY) }); //离开屏幕的那一瞬间 $("div").on("touchend", function(e) { // 判断默认行为是否可以被禁用 if(e.cancelable) { // 判断默认行为是否已经被禁用 if(!e.defaultPrevented) { e.preventDefault(); } } // 开始的x坐标-最后的坐标,大于20,说明向右移动了20像素以上(因为一般要防止客户误) if ((startX-moveX)>20) { alert("<--") } else if((startX-moveX)<-20){ alert("-->") }else{ alert("没有左右移动或移动的距离不大于20") } if ((startY-moveY)>20) { alert("上") } else if((startY-moveY)<-20){ alert("下") }else{ alert("没有上下移动或移动的距离不大于20") } }); </script> </body> </html>
本文来自博客园,作者:三线码工,转载请注明原文链接:https://www.cnblogs.com/shangrao/p/12805195.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix