uni-app 手指左右滑动实现翻页效果

  首先给页面添加 touch 事件

<view class="text-area" @touchstart="start" @touchend="end">

</view>

  然后定义一个合理区间进行判断,用户当前是上下滑动看书还是左右滑动变换章节.

start(e){
                    
    this.startData.clientX=e.changedTouches[0].clientX;
                 
    this.startData.clientY=e.changedTouches[0].clientY;
},
end(e){
    // console.log(e)
    const subX=e.changedTouches[0].clientX-this.startData.clientX;
    const subY=e.changedTouches[0].clientY - this.startData.clientY;
    if(subY>50 || subY<-50){
        console.log('上下滑')
    }else{
        if(subX>100){
            console.log('右滑')
        }else if(subX<-100){
            console.log('左滑')
        }else{
            console.log('无效')
        }
    }
}

  这里面根据用户如果上下滑动的幅度超过 50 即认定为用户当前行为是上下翻看内容,否则就根据用户左右滑动的幅度进行判断,取值左右 100 为有效区间,小于则认定为无效操作!

posted @ 2019-09-11 23:21  gitByLegend  阅读(11390)  评论(0编辑  收藏  举报