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
  • asp之家 网络编程 m.aspxhome.com