微信輪播圖自適應高度

時代先鋒er發表於2020-12-14
原理: 原圖寬/原圖高 = 螢幕寬/適應螢幕寬後的圖片高
wxml
	<swiper style="height:{{imgh==0?200:imgh}}" indicator-dots="{{indicatorDots}}" autoplay="true" interval="{{interval}}" duration="{{duration}}">
		<block wx:for="{{圖片陣列***》》此處替換}}" wx:key="*this">
			<swiper-item>
				<image bindload="imageload2" style="height:{{imgh==0?200:imgh}}" bindtap="toApplyBrand" src="{{URL圖片路徑》》》*此處替換}}"></image>
			</swiper-item>
		</block>
	</swiper>
JS
Page({

  data: {
    imgh:'',
     indicatorDots: true,
    vertical: false,
    autoplay: false,
    interval: 2000,
    duration: 500,
    },
  imageload2: function (e) {//獲取圖的高度
    let swiperHeight = this.data.imgh;
    let imgWidth = e.detail.width; //獲取圖片原始寬度
    let imgHeight = e.detail.height; //圖片原始高度
    var width = wx.getSystemInfoSync().windowWidth;
    //獲取可使用視窗寬度
    console.log('可用視窗 高度-->',width);
        swiperHeight = width * imgHeight / imgWidth ;
        console.log("swiperHeight", swiperHeight)
        this.setData({
          imgh: swiperHeight+'px'
        })
  },
  })

相關文章