溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

小程序內(nèi)輪播圖如何設置成自適應高度

發(fā)布時間:2020-12-22 12:47:47 來源:億速云 閱讀:163 作者:小新 欄目:移動開發(fā)

這篇文章主要介紹了小程序內(nèi)輪播圖如何設置成自適應高度,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

我的思路是:獲取屏幕寬度,獲取圖片的寬高,然后等比設置當前屏幕寬度下swiper的高度。

1.結構

<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{bg}}" style='height:{{Height}}'>
   <block wx:for="{{imgUrls}}">
    <swiper-item>
      <image src="{{item}}" class="slide-image" mode="widthFix" bindload='imgHeight'/>  //bindload是綁定圖片加載的事件,記得給image加上mode=“widthFix”這個屬性哦,還有就是設置這個image 100%寬度喲
    </swiper-item>
   </block>
</swiper>

swiper的各個屬性在官方文檔中都有,這里就不說明了。最主要的是: style='height:{{Height}}' //動態(tài)設置swiper的高度

2.在page里面:

data: {
  imgUrls: [          
    '../img/goodsDetail/goods.png',
    '../img/goodsDetail/goods.png',
    '../img/goodsDetail/goods.png'
  ],
  indicatorDots: true,
  autoplay: true,
  interval: 5000,
  duration: 1300,
  bg: '#C79C77',
  Height:""     //這是swiper要動態(tài)設置的高度屬性
 },
imgHeight:function(e){
  var winWid = wx.getSystemInfoSync().windowWidth; //獲取當前屏幕的寬度
  var imgh=e.detail.height;//圖片高度
  var imgw=e.detail.width;//圖片寬度
  var swiperH=winWid*imgh/imgw + "px"//等比設置swiper的高度。 即 屏幕寬度 / swiper高度 = 圖片寬度 / 圖片高度  ==》swiper高度 = 屏幕寬度 * 圖片高度 / 圖片寬度
  this.setData({
    Height:swiperH//設置高度
  })
},

總結:獲取當前屏幕寬度: wx.getSystemInfoSync().windowWidth

在小程序里動態(tài)設置屬性,只有通過setData({ })來設置,和js中直接操作css樣式有一點類似

注意:image如果外層有個容器裝,然后image設置width為100%之后,距離裝它的容器底部有一點距離,那是因為image是默認設置的display:inline-block屬性,這個屬性會產(chǎn)生間隙。如果要撐滿容器,設置為display:block就可以了。

感謝你能夠認真閱讀完這篇文章,希望小編分享小程序內(nèi)輪播圖如何設置成自適應高度內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI