本文小編為大家詳細(xì)介紹“微信小程序怎么實現(xiàn)swiper輪播圖中的圖片自適應(yīng)高度”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“微信小程序怎么實現(xiàn)swiper輪播圖中的圖片自適應(yīng)高度”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括雄縣網(wǎng)站建設(shè)、雄縣網(wǎng)站制作、雄縣網(wǎng)頁制作以及雄縣網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,雄縣網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到雄縣省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
小程序中的輪播圖很簡單,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,這樣如果傳入的圖片大于這個高度就會被隱藏。辣么,怎樣讓圖片自適應(yīng)不同分辨率捏。
我的思路是:獲取屏幕寬度,獲取圖片的寬高,然后等比設(shè)置當(dāng)前屏幕寬度下swiper的高度。
1.結(jié)構(gòu)
//bindload是綁定圖片加載的事件,記得給image加上mode=“widthFix”這個屬性哦,還有就是設(shè)置這個image 100%寬度喲
swiper的各個屬性在官方文檔中都有,這里就不說明了。最主要的是: style='height:{{Height}}' //動態(tài)設(shè)置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)設(shè)置的高度屬性 }, imgHeight:function(e){ var winWid = wx.getSystemInfoSync().windowWidth; //獲取當(dāng)前屏幕的寬度 var imgh=e.detail.height;//圖片高度 var imgw=e.detail.width;//圖片寬度 var swiperH=winWid*imgh/imgw + "px"http://等比設(shè)置swiper的高度。 即 屏幕寬度 / swiper高度 = 圖片寬度 / 圖片高度 ==》swiper高度 = 屏幕寬度 * 圖片高度 / 圖片寬度 this.setData({ Height:swiperH//設(shè)置高度 }) },
總結(jié):獲取當(dāng)前屏幕寬度: wx.getSystemInfoSync().windowWidth
在小程序里動態(tài)設(shè)置屬性,只有通過setData({ })來設(shè)置,和js中直接操作css樣式有一點類似
注意:image如果外層有個容器裝,然后image設(shè)置width為100%之后,距離裝它的容器底部有一點距離,那是因為image是默認(rèn)設(shè)置的display:inline-block屬性,這個屬性會產(chǎn)生間隙。如果要撐滿容器,設(shè)置為display:block就可以了。
讀到這里,這篇“微信小程序怎么實現(xiàn)swiper輪播圖中的圖片自適應(yīng)高度”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。