收藏
回答

swiper 安卓模式下抖动问题

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 需求 Windows v1.02.1810250

<swiper class='swiper' autoplay="true" circular="true" current="{{swiperIndex}}" bindchange="swiperChange">

<block wx:for="{{result.shqSetup.pictureArray}}" wx:key>

<swiper-item>

<navigator hover-class='none' url='/pages/videoDetails/videoDetails?detailsId={{item.id}}' open-typ="navigate">

<image class='swiperImg' src="{{item.img}}" mode="aspectFill" lazy-load="true"></image>

</navigator>

</swiper-item>

</block>

</swiper>

自定义的小圆点样式

<view class='indexDots'>

<block wx:for="{{result.shqSetup.pictureArray}}" wx:key>

<label class="{{index==swiperIndex?'':'dotsActive'}}"></label>

</block>

</view>

data: {

swiperIndex: 0,

},


// 顶部轮播指示点功能内容

swiperChange(res) {

this.setData({

swiperIndex: res.detail.current

})

},

// 顶部轮播指示点功能内容 END

不知道怎么就来回抖啊抖,猜是快速循环导致

- 需求的场景描述(希望解决的问题)


- 希望提供的能力

万能的社区大佬,请问是什么问题导致的??

最后一次编辑于  2018-12-06
回答关注问题邀请回答
收藏

2 个回答

  • 豆浆
    豆浆
    2018-12-07

    我昨天提出这个问题 ,去掉aspectFill就没有问题了

    2018-12-07
    赞同
    回复
  • 心心情
    心心情
    2018-12-06

    可以试试,自定义圆点中的swiperIndex换个变量名,比如swiperCircleIndex。

    <label class="{{index==swiperCircleIndex?'':'dotsActive'}}"></label>

    swiperChange(res) {

    this.setData({

    swiperCircleIndex: res.detail.current

    })

    }


    尽量避免swiper中的数据有setData。感觉change事件可以不用setData就不要用了,遇到的坑不少~



    2018-12-06
    赞同
    回复 4
    • 好名字.
      好名字.
      2018-12-06

      <swiper class='swiper' autoplay="true" circular="true" current     bindchange="swiperChange">

      <block wx:for="{{result.shqSetup.pictureArray}}" wx:key>

      <swiper-item>

      <navigator hover-class='none' url='/pages/videoDetails/videoDetails?detailsId={{item.id}}' open-typ="navigate">

      <image class='swiperImg' src="{{item.img}}" mode="aspectFill" lazy-load="true"></image>

      </navigator>

      </swiper-item>

      </block>

      </swiper>

      <view class='indexDots'>

      <block wx:for="{{result.shqSetup.pictureArray}}" wx:key>

      <label class="{{index==swiperIndex?'':'dotsActive'}}"></label>

      </block>

      </view>


      我把这个   current   后面的变量去掉了 但是也可以获取当前滑块的index  会有影响吗?


      2018-12-06
      回复
    • 心心情
      心心情
      2018-12-06回复好名字.

      没有啊

      2018-12-06
      回复
    • 好名字.
      好名字.
      2018-12-06回复心心情

      只要不操作  current  的变量就没问题是吧?

      2018-12-06
      回复
    • 心心情
      心心情
      2018-12-06回复好名字.

      你试试。我觉得没有问题

      2018-12-06
      回复