移动端——滑动手势效果(可适配平板、手机)

151 阅读1分钟

移动端——滑动手势效果

代码

<template>
    <view 
    @touchstart="touchstart" // 触摸开始;
    @touchmove="touchmove"   // 手指滑动过程;
    @touchend="touchend"     // 触摸结束手指离开屏幕;
    >
    </view>
<template>
<script>
    export default{
        data(){
            return{
                touchData:{} // 手指滑动数据存放
            }
        },
       methods: {
        touchstart(e) {
                    // console.log('开始',e.changedTouches);
                    
                    // 将 触摸开始 数据 X,Y 轴坐标存入 touchData
                    this.touchData.clientX = e.changedTouches[0].clientX;
                    this.touchData.clientY = e.changedTouches[0].clientY;
        },
        touchmove(e){
            // console.log('过程',e.changedTouches);
        },
        touchend(e) {
                    // console.log('结束',e.changedTouches);
            
                    // 利用 触摸完毕的数据 减 触摸开始的数据 得到移动的距离
                    const subX = e.changedTouches[0].clientX - this.touchData.clientX;
                    const subY = e.changedTouches[0].clientY - this.touchData.clientY;
                    console.log('y',subY);
                    console.log('x',subX);
            
                    // 利用移动的距离 进行判断 手势X轴滑了多少,Y轴滑了多少。
                    if(subY > 500 && subX >500){
                        console.log('到位');
     
                  }
             },
         },
    }
</script>

结语:

利用手势 开始坐标 到 结束时 滑了多少距离来实现。