小程序
小游戏
企业微信
微信支付
扫描小程序码分享
swiper能不能加上,判断划动方向的功能
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
<template> <view class="seePhoto"> <swiper :current="renderCurrent" @change="swiperChange" > <swiper-item style="width:100%;height: 100%;" v-for="(val,key) in renderPhoto" :key="key"> </swiper-item> </swiper> </view> </template> <script> export default{ data(){ return{ renderPhoto:[],//要渲染的图片 只沉染二张图进行来回切换 renderCurrent: 1,//轮播时的索引 lastCurrent:1,//记录上一次的索上,用于判断是左滑动还是右滑动 } }, methods:{ // 滑动时 swiperChange(e){ let that = this; this.renderCurrent = e.detail.current; if(this.photoArr.length > 3){ // 右滑动 0 1 2 0 1 2 // 左滑动 2 1 0 2 1 0 if(e.detail.current != (this.renderPhoto.length -1) && e.detail.current > this.lastCurrent){ console.log("左滑动了") } else if(e.detail.current == (this.renderPhoto.length -1) && e.detail.current > this.lastCurrent && this.lastCurrent != 0){ console.log("左滑动了") } else if(e.detail.current == 0 && this.lastCurrent == (this.renderPhoto.length -1)){ console.log("左滑动了") } else if(e.detail.current != 0 && e.detail.current < this.lastCurrent){ console.log("右滑动了") } else if(e.detail.current == 0 && e.detail.current < this.lastCurrent){ console.log("右滑动了") } else if(e.detail.current == (this.renderPhoto.length -1) && e.detail.current > this.lastCurrent && this.lastCurrent == 0){ console.log("右滑动了") } this.lastCurrent = e.detail.current; } }, } } </script>
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
自己判读吧,touch事件
嗯,我也遇到这个需求
bindtouchstart和bindtouchend通过坐标判断,也可以根据swiper的当前的current和上次的current判断
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
<template> <view class="seePhoto"> <swiper :current="renderCurrent" @change="swiperChange" > <swiper-item style="width:100%;height: 100%;" v-for="(val,key) in renderPhoto" :key="key"> </swiper-item> </swiper> </view> </template> <script> export default{ data(){ return{ renderPhoto:[],//要渲染的图片 只沉染二张图进行来回切换 renderCurrent: 1,//轮播时的索引 lastCurrent:1,//记录上一次的索上,用于判断是左滑动还是右滑动 } }, methods:{ // 滑动时 swiperChange(e){ let that = this; this.renderCurrent = e.detail.current; if(this.photoArr.length > 3){ // 右滑动 0 1 2 0 1 2 // 左滑动 2 1 0 2 1 0 if(e.detail.current != (this.renderPhoto.length -1) && e.detail.current > this.lastCurrent){ console.log("左滑动了") } else if(e.detail.current == (this.renderPhoto.length -1) && e.detail.current > this.lastCurrent && this.lastCurrent != 0){ console.log("左滑动了") } else if(e.detail.current == 0 && this.lastCurrent == (this.renderPhoto.length -1)){ console.log("左滑动了") } else if(e.detail.current != 0 && e.detail.current < this.lastCurrent){ console.log("右滑动了") } else if(e.detail.current == 0 && e.detail.current < this.lastCurrent){ console.log("右滑动了") } else if(e.detail.current == (this.renderPhoto.length -1) && e.detail.current > this.lastCurrent && this.lastCurrent == 0){ console.log("右滑动了") } this.lastCurrent = e.detail.current; } }, } } </script>
自己判读吧,touch事件
嗯,我也遇到这个需求
bindtouchstart和bindtouchend通过坐标判断,也可以根据swiper的当前的current和上次的current判断