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

 更新时间:2017年08月07日 15:55:56   作者:静乐想  
通过手指触屏,利用touchstart和touchend计算前后滑动距离,判断是上拉还是下滑。接下来通过实例代码给大家介绍js移动端判断上拉和下滑功能,感兴趣的朋友一起看看吧

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

相关文章

  • 微信小程序实现顶部选项卡(swiper)

    微信小程序实现顶部选项卡(swiper)

    这篇文章主要为大家详细介绍了微信小程序实现顶部选项卡效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • js事件机制----捕获与冒泡机制实例分析

    js事件机制----捕获与冒泡机制实例分析

    这篇文章主要介绍了js事件机制----捕获与冒泡机制,结合实例形式分析了js事件机制中捕获与冒泡机制相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2020-05-05
  • javascript另类方法实现htmlencode()与htmldecode()函数实例分析

    javascript另类方法实现htmlencode()与htmldecode()函数实例分析

    这篇文章主要介绍了javascript另类方法实现htmlencode()与htmldecode()函数,结合实例形式分析了javascript字符编码与解码操作的相关技巧,需要的朋友可以参考下
    2016-11-11
  • JS 两个字符串时间的天数差计算

    JS 两个字符串时间的天数差计算

    本文为大家介绍下两个字符串时间的天数差的计算公式,感兴趣的朋友可以参考下
    2013-08-08
  • Layui table field初始化加载时进行隐藏的方法

    Layui table field初始化加载时进行隐藏的方法

    今天小编就为大家分享一篇Layui table field初始化加载时进行隐藏的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • Javascript实现简易导航栏

    Javascript实现简易导航栏

    这篇文章主要为大家详细介绍了Javascript实现简易导航栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • uni-app全局变量的四种实现方式总结

    uni-app全局变量的四种实现方式总结

    在开发的过程中,我们不可避免的用到全局变量,比如我们的请求的公共路径这个变量,下面这篇文章主要给大家总结介绍了关于uni-app全局变量的四种实现方式,需要的朋友可以参考下
    2023-10-10
  • JS常用时间操作moment.js的使用方法

    JS常用时间操作moment.js的使用方法

    Moment.js是一个轻量级的JavaScript时间库,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等,本文就来介绍一下如何使用,感兴趣的可以了解下
    2023-09-09
  • js设置function参数默认值(适合没有传参情况)

    js设置function参数默认值(适合没有传参情况)

    div+css模拟js信息框的类库时遇到一个问题当没有传递参数过去时自动使用提示信息作为窗口标题,具体的实现如下
    2014-02-02
  • 微信小程序实现历史搜索功能的全过程(h5同理)

    微信小程序实现历史搜索功能的全过程(h5同理)

    最近在使用微信小程序开发的时候遇到了一个需求,需要实现历史搜索记录的功能,所以下面这篇文章主要给大家介绍了关于微信小程序实现历史搜索功能(h5同理)的相关资料,需要的朋友可以参考下
    2022-12-12

最新评论