PC和移动端判断滑动方向

PC和移动端判断滑动方向

  1. 有了思路并不难 ,多多思考;
  2. 重点:需要知道鼠标点击的位置,以及位移的位置 ,只要得到了这两点进行对比就能知道方向。
            /**
             *  PC端
             *  pageX() 属性是鼠标指针的位置,相对于文档的左边缘
             *  pageY() 属性是鼠标指针的位置,相对于文档的上边缘
            */
            var startX, startY, moveEndX, moveEndY, moveX, moveY;
            $("元素").mousedown(function(e){
                e.preventDefault();     //取消事件的默认动作。
                startX = e.pageX,         //记录鼠标按下时,距整个body的距离
                startY = e.pageY;         
                $(this).mousemove(function(e){
                    e.preventDefault();     //取消事件的默认动作。
                    moveEndX = e.pageX,       //记录鼠标移动后,距整个body的距离
                    moveEndY = e.pageY;
                    //移动后,进行比较
                    moveX = moveEndX - startX,      
                    moveY = moveEndY - startY;
                    if( moveX > 0 ){ console.log("向右") }else{ console.log("向左") }
                    if( moveY < 0 ){ console.log("向上") }else{ console.log("向下") }
                })
            }).mouseup(function(){
                //移除所有 此 元素上的 mousemove 事件:
                $(this).off("mousemove")
            })




			
            /**
             *  移动端 
             * touches: 当前屏幕上所有触摸点的列表;
             * targetTouches: 当前对象上所有触摸点的列表;
             *  changedTouches: 涉及当前(引发)事件的触摸点的列表
             */
            var startX, startY, moveEndX, moveEndY, moveX, moveY;
            $("元素").on("touchstart", function(e) {
            e.preventDefault();     //取消事件的默认动作。
            startX = e.originalEvent.changedTouches[0].pageX || e.targetTouches[0].pageX,
            startY = e.originalEvent.changedTouches[0].pageY || e.targetTouches[0].pageY;
          });
          $("元素").on("touchmove", function(e) {
            e.preventDefault();     //取消事件的默认动作。
            moveEndX = e.originalEvent.changedTouches[0].pageX || e.targetTouches[0].pageX,
            moveEndY = e.originalEvent.changedTouches[0].pageY || e.targetTouches[0].pageY;
            moveX = moveEndX - startX,
            moveY = moveEndY - startY;

                if( moveX > 0 ){ console.log("向右") }else{ console.log("向左") }
                if( moveY < 0 ){ console.log("向上") }else{ console.log("向下") }
          });

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值