手机端滑动触摸事件

  1. 获取Dom元素然后监听滑动触摸事件

  1. 计算元素在页面起始值再获取元素偏移的值

  1. 用偏移的值减去起始值就是目标元素移动的具体值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .A{
            width: 1500px;
            height: 300px;
            background-color: black;
        }
        .B{
            width: 1500px;
            height: 300px;
            background-color: blue;
        }
        .C{
            width: 1500px;
            height: 300px;
            background-color: red;
        }
    </style>
</head>
 <body>
        <ul>
        <li class="A">b</li>
        <li class="B">c</li>
        <li class="C">d</li>
        </ul>

        <script>
        // 手机端滑动监听
        var startX, startY, moveEndX, moveEndY, X, Y;
        document.querySelector('.C').addEventListener('touchstart', function(e) {
            startX = e.touches[0].pageX;
            startY = e.touches[0].pageY;
        });
        document.querySelector('.C').addEventListener('touchmove', function(e) {
            moveEndX = e.changedTouches[0].pageX;
            moveEndY = e.changedTouches[0].pageY;
            X = moveEndX - startX;
            Y = moveEndY - startY;
            if ( X > 0 ) {
                console.log('向右');
            }else if ( Y > 0 ) {
                console.log('向下');
            }else if ( Y < 0 ) {
                console.log('向上');
            }else if ( X < 0 ) {
                console.log('向左');
            }else{
                console.log('没滑动');
            }
        });
    </script>
    </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值