Web移动端轻划事件.

1:轻划事件其实就是touchstart和touchend两个事件的触发和运用

//这里是一些用来测试的默认样式
<style>

       .box{

           width: 200px;

           height: 200px;

           background-color: blue;

           margin: 100px auto;

       }

   </style>
  <div class="box">

   </div>
<script>
  //绑定
   var box = document.querySelector(".box");
   //按下的时间
   var startTime;
   //按下的坐标
   var startX,startY;
</script>

2:然后就是touchstart事件,绑定在box上

//添加touchstart事件给box
    box.addEventListener("touchstart",function (e) {

        //先判断手指的个数,手指不能超过一根
        if(e.touches.length>1){
            return;
        }

        // Touches事件是屏幕上所有触摸点的集合
        //记录下开始时按下的时间
        startTime = Date.now();

        //记录按下的坐标
        startX = e.touches[0].clientX;
        startY = e.touches[0].clientY;
      })

3:然后就是touchend事件,同样绑定在box上

   //按下
    box.addEventListener("touchstart",function (e) {

        //先判断手指的个数
        if(e.touches.length>1){
            return;
        }

        // Touches事件是屏幕上所有触摸点的集合
        //记录按下的时间
        startTime = Date.now();


        //记录按下的坐标
        startX = e.touches[0].clientX;
        startY = e.touches[0].clientY;
      })


      //离开
      box.addEventListener("touchend",function (e) {

          //判断手指的个数,手指的个数不能超过一个
          //一个手指离开的时候显示为1
          if(e.changedTouches.length >1){
                return;
          }

          //记录下离开的时间

          var endTime = Date.now();

        //判断触摸的时间

        if(endTime - startTime > 800){
            return;
        }

        //先判断距离在判断方向,如果没有产生距离就直接返回,不满足条件
        var endX = e.changedTouches[0].clientX;
        var endY = e.changedTouches[0].clientY;


        //方向
        var direction;

        //大于5是指要至少移动5个PX
        if(Math.abs(endX-startX)>5){
            //结束的X坐标比开始的X坐标大的时候,是右滑动
            direction = endX > endY ? "right" : "left";
        }else {
            return;
        }
          //这里最后输出结果看一下
            console.log(direction);
            
        })

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。 1...
    IT老马阅读 10,492评论 1 20
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,862评论 1 11
  • 一.css部分 1.meta标签 移动端加上这个标签才是真正的自适应,不加的话,假如你把一个980px宽度(手机端...
    李景磊阅读 3,759评论 0 2
  • 她本来可以活得更好的,只因为结交了一个渣男,感情路上就一路坎坷了。 她是阿娇,八年前本来她是艳照门的受害者,因为当...
    东润聊健康阅读 2,271评论 0 1
  • 今天参加了学校的家长会,受益很多,父母的榜样特别重要,从今天开始要用自己的行动去带动和影响孩子,今天开完家长会回来...
    闻韶三三中队亲子日记阅读 1,020评论 0 0