微信小程序之swiper輪播圖中的圖片自適應(yīng)高度的方法
小程序中的輪播圖很簡(jiǎn)單,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,這樣如果傳入的圖片大于這個(gè)高度就會(huì)被隱藏。辣么,怎樣讓圖片自適應(yīng)不同分辨率捏。
我的思路是:獲取屏幕寬度,獲取圖片的寬高,然后等比設(shè)置當(dāng)前屏幕寬度下swiper的高度。
1.結(jié)構(gòu)
<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”這個(gè)屬性哦,還有就是設(shè)置這個(gè)image 100%寬度喲
</swiper-item>
</block>
</swiper>
swiper的各個(gè)屬性在官方文檔中都有,這里就不說(shuō)明了。最主要的是: style='height:{{Height}}' //動(dòng)態(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要?jiǎng)討B(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
在小程序里動(dòng)態(tài)設(shè)置屬性,只有通過(guò)setData({ })來(lái)設(shè)置,和js中直接操作css樣式有一點(diǎn)類(lèi)似
注意:image如果外層有個(gè)容器裝,然后image設(shè)置width為100%之后,距離裝它的容器底部有一點(diǎn)距離,那是因?yàn)閕mage是默認(rèn)設(shè)置的display:inline-block屬性,這個(gè)屬性會(huì)產(chǎn)生間隙。如果要撐滿容器,設(shè)置為display:block就可以了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript面向?qū)ο蟮某绦蛟O(shè)計(jì)(犯迷糊的小羊)
這篇文章主要介紹了JavaScript面向?qū)ο蟮某绦蛟O(shè)計(jì)(犯迷糊的小羊),需要的朋友可以參考下2018-05-05
Js實(shí)現(xiàn)無(wú)刷新刪除內(nèi)容
本文給大家分享的是一段仿騰訊微博的無(wú)刷新刪除特效的代碼,非常的實(shí)用,有需要的小伙伴可以參考下。2015-04-04
JS實(shí)現(xiàn)滑動(dòng)菜單效果代碼(包括Tab,選項(xiàng)卡,橫向等效果)
這篇文章主要介紹了JS實(shí)現(xiàn)滑動(dòng)菜單效果代碼,以實(shí)例形式實(shí)現(xiàn)了包括Tab,選項(xiàng)卡,橫向等效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-09-09
javascript中萬(wàn)惡的function實(shí)例分析
javascript中萬(wàn)惡的function實(shí)例分析,學(xué)習(xí)js的朋友可以參考下。2011-05-05
js實(shí)現(xiàn)String.Fomat的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)String.Fomat的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
簡(jiǎn)單實(shí)現(xiàn)節(jié)流函數(shù)和防抖函數(shù)過(guò)程解析
這篇文章主要介紹了簡(jiǎn)單實(shí)現(xiàn)節(jié)流函數(shù)和防抖函數(shù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
超強(qiáng)的IE背景圖片閃爍(抖動(dòng))的解決辦法
超強(qiáng)的IE背景圖片閃爍(抖動(dòng))的解決辦法...2007-09-09

