JS实现移动端判断上拉和下滑功能

发布时间 - 2026-01-11 02:41:02    点击率:

一、手指触屏,利用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实现移动端判断上拉和下滑功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js  # 移动端  # 上拉  # 下滑  # js判断浏览器的环境(pc端  # 还是微信浏览器)  # 移动端使用CSS或JS判断横屏和竖屏的讲解  # 使用JS判断移动端手机横竖屏状态  # js判断PC端与移动端跳转  # js简单判断移动端系统的方法  # js判断移动端是否安装某款app的多种方法  # JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)  # js如何判断用户是在PC端和还是移动端访问  # JS实现判断移动端PC端功能  # 相对于  # 中分  # 小编  # 在此  # 给大家  # 别有  # 所述  # 结束时  # 给我留言  # 感谢大家  # 本例  # 疑问请  # 有任何  # 相减  # touches  # changedTouches  # var  # br  # pre  # pageX 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: phpredis提高消息队列的实时性方法(推荐)  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  如何在Tomcat中配置并部署网站项目?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  如何挑选优质建站一级代理提升网站排名?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  高性价比服务器租赁——企业级配置与24小时运维服务  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel如何处理表单验证?(Requests代码示例)  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何用搬瓦工VPS快速搭建个人网站?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  网站制作报价单模板图片,小松挖机官方网站报价?  香港服务器部署网站为何提示未备案?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何快速使用云服务器搭建个人网站?  利用vue写todolist单页应用  详解阿里云nginx服务器多站点的配置  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  晋江文学城电脑版官网 晋江文学城网页版直接进入  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel Fortify是什么,和Jetstream有什么关系  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  详解CentOS6.5 安装 MySQL5.1.71的方法  独立制作一个网站多少钱,建立网站需要花多少钱?  详解Android图表 MPAndroidChart折线图  Android自定义listview布局实现上拉加载下拉刷新功能  焦点电影公司作品,电影焦点结局是什么?  javascript中对象的定义、使用以及对象和原型链操作小结  JavaScript实现Fly Bird小游戏  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  java获取注册ip实例  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  nodejs redis 发布订阅机制封装实现方法及实例代码  高端建站如何打造兼具美学与转化的品牌官网?  如何快速搭建自助建站会员专属系统?  如何在Ubuntu系统下快速搭建WordPress个人网站?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)