收藏
回答

Swiper组件疯狂抖动

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug swiper 客户端 Android 6.6.5 1.9.90

如效果图,  首先快速切换tab栏目, 然后它自己就开始疯狂鬼畜, 来回切换

这里是演示的腾讯网的小程序, 我尝试了几个小程序都出现了这个问题,请官方给出解决方案.


回答关注问题邀请回答
收藏

6 个回答

  • Special
    Special
    2018-03-30

    手速太快跟不上... 试了好几把没能复现

    2018-03-30
    有用
    回复
  • 郭洪伟
    郭洪伟
    2019-09-11

    我是这么解决的:

    bindHousePicSwipperItemChg(e) {

    var now = new Date().getTime();

    var total = now - this.data.lastSwipperItemChgTime

    if (total >= 3000) /*interval="3000"*/{

    this.setData({

    housePicSwipperCurIndex: e.detail.current,

    lastSwipperItemChgTime: now,

    })

    }

    },


    2019-09-11
    有用 1
    回复 3
    • 抄冬
      抄冬
      2020-04-07
      很棒
      2020-04-07
      回复
    • 🌟
      🌟
      2021-03-22
      你这个方法用户如果手动切换轮播图,时间间隔小于3秒的话,事件就不会执行了
      2021-03-22
      回复
    • 欢乐马
      欢乐马
      星期四 14:54回复🌟
      他这个思路基础 再加上一个判断逻辑 ----区分一下手动切换和自动切换就可以解决问题了
      星期四 14:54
      回复
  • 2018-04-03

    我们之前也有复现过这个问题 查下来猜测可能的原因是

    事件堆积导致bingchange短时间内调用多次,current绑定了页面上的数据,又导致current不断被重设。

    又导致bindchange被调用多次,所以swiper显得一直在快速抖动。

    不过还是要综合代码去看


    大概流程是这样:如果当前页面改变了之后,代码里面setdata改变了current,current绑定到了swiper上,如果current和swiper的当前页相同,这样做是没什么问题的。但是如果bindchange大量堆积,可能时序就会出错。

    2018-04-03
    有用 1
    回复 2
    • Jstring
      Jstring
      2018-05-15
      遇到同样的问题,发现就是前任bindchange setdata改变了current中的值
      2018-05-15
      回复
    • 努力努力再努力
      努力努力再努力
      2018-12-03回复Jstring

      求解决办法

      2018-12-03
      回复
  • 2019-10-31

    请问这个问题解决了吗


    2019-10-31
    有用
    回复
  • 2018-03-30

    不会啊,我每次试都会出现这个问题,只要稍微快一点就会出现这个问题,请再合适一下

    2018-03-30
    有用
    回复
  • 2018-03-30

    因为图片大小限制,所以抖动演示的时间不是很长, 但是,如果出现了抖动,他会一直抖动下去,不会停歇,仿佛吃了XX

    2018-03-30
    有用
    回复
登录 后发表内容