uniapp轮播图父元素自适应图片高度
template
<swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" :duration="duration" indicator-color='rgba(255, 255, 255, 0.3)' indicator-active-color="#FFFFFF" :style="{ height: swiperHeight + 'px' }"> <swiper-item v-for="(item, i) in swlist" :key="i"> <image :src="item.thumb" mode="widthFix" @load="imageLoaded"></image> </swiper-item> </swiper>
script
data() { return { swiperHeight: 0, imageHeights: [] } },
方法
methods: { imageLoaded(e) { const height = e.detail.height; const width = e.detail.width; // 设置swiper的宽度为屏幕宽度,并计算swiper的高度 const swiperWidth = uni.getSystemInfoSync().windowWidth; const scale = width / swiperWidth; const imageHeight = height / scale; this.swiperHeight = Math.max(this.swiperHeight, imageHeight); this.imageHeights.push(imageHeight); }, }
本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。