微信小程序-swiper(輪播圖)抖動問題


ps:問題 組件swiper(輪播圖)真機上不自動滾動 一直卡在那里抖動

以前遇到這個問題,官方一直沒有正面回復。就擱置了,不過有大半年沒寫小程序了也沒去關注,今天就去看了下官方文檔,發覺更新了點好東西

 

 

 

就一直抖動這個問題,官方更新了一下出現bug的原因,沒有具體闡述怎么去解決,但是總體說也給出了一個方案,大家可以去嘗試一下是否還出現這個問題。下面是我根據官方,一直找了部分資料做了些處理就不說了,直接貼代碼

wxml

<view class="swiper">
    <swiper
    autoplay="true" interval="4000" current="{{swiperCurrent}}" duration="1000" bindchange="swiperChange">
      <swiper-item wx:for="{{bannerList}}" wx:key="*this" data-page="activity" data-id="{{item.id}}" data-type="{{item.type}}">
        <image src='{{item.pictureUrl}}' class='u-img-slide' ></image>
    </swiper-item>
    </swiper>
    <view class="dots">
  <!-- 自定義角標 -->
      <block wx:for="{{bannerList}}" wx:key="*this">
        <view class="dot{{index == swiperCurrent ? ' active' : ''}}"></view>
      </block>
    </view>
 </view>

 js

swiperChange(e) { 
    let {current, source} = e.detail
    if(source === 'autoplay' || source === 'touch') { 
    //根據官方 source 來進行判斷swiper的change事件是通過什么來觸發的,autoplay是自動輪播。touch是用戶手動滑動。其他的就是未知問題。抖動問題主要由於未知問題引起的,所以做了限制,只有在自動輪播和用戶主動觸發才去改變current值,達到規避了抖動bug
      this.setData({
        swiperCurrent: current
      })
    }
  },

 主要是為了規避輪播抖動的bug,大家有更好的方案也可以在文章下評論,我也可以及時去更新,謝謝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM