收藏
回答

swiper 组件, 双击(Tap)按钮切换时会出现左右闪动, 怎么解决?

在使用 swiper 组件时, swiper-item 中的每个页面都有一个跳转按钮, 在按钮 tap 事件中去改变 swiper current 的值以切换页面, 可是连续双击(算是暴力测试)会出现 swiper 左右不停的闪动情况, 这是原生组件的问题吗? 有什么解决办法? 如果没有找到解决办法, 可能只有使用 touch 组合事件来完成了

最后一次编辑于  09-18
回答关注问题邀请回答
收藏

2 个回答

  • 思男
    思男
    09-18

    加个锁,不允许双击


    提供一下代码片段 https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    09-18
    赞同
    回复 2
    • Dante
      Dante
      09-18
      时间问题暂时提供不了, 最多做个简易DEMO, 现象是点击后在 setData 改变 current 时页面已经在滑动了, 但是第二次点击的时有相当于阻止了页面的滑动, 如此重复的操作, 可能令这个组件出现了问题
      09-18
      回复
    • 思男
      思男
      09-18回复Dante
      等提供了代码片段看一下吧,具体也不知道什么情况。
      09-18
      回复
  • 卢霄霄
    卢霄霄
    09-18

    点了一次 设个标志位 然后setTimeout把这个标志位复位。。免得他连续点

    09-18
    赞同
    回复 5
    • Dante
      Dante
      09-18
      已经这么做过了, 但其实问题不在这里, 我测试过, 相当于点击后在 setData 改变 current 时页面已经在滑动了, 但是第二次点击的时有相当于阻止了页面的滑动, 如此重复的操作, 可能令这个组件出现了问题
      09-18
      回复
    • 卢霄霄
      卢霄霄
      09-18回复Dante
      swiper有个duration属性,setTimeout比这个duration长就行了嘛
      09-18
      回复
    • Dante
      Dante
      09-18
      不是这个原因喔, 我懂你的想法, 我防止用户点击执行功能已经做到了这个效果, 不用双击按钮, 我第一点按钮, 第二次点页面, 只要操作快了也是这种闪动问题, 所以还是那种现象, 我点了一次切换时,页面在滑动了,这个时候你再点一次页面就他这个阻止了, 如粗快速操作就出现左右闪动, 跟设置 过度动画时间 没关系
      09-18
      回复
    • 卢霄霄
      卢霄霄
      09-18回复Dante
      哦哦 明白你意思了。。那只有做个遮罩层,把整个swiper盖着
      09-18
      回复
    • Dante
      Dante
      09-18回复卢霄霄
      诶,这个好主意
      09-18
      回复
问题标签