需求:轮播图需要根据图片的大小进行适配,下面的文字跟随轮播图大小进行适配移动

逻辑

①在swiper里的图片加载完成的时候,@load方法去获取图片的宽高,又因为图片的宽高需要适配手机的屏幕,所以需要用uni.getSystemInfoSync()获取可使用窗口的宽度,根据比例计算出图片的高度和swiper的高度
②又因为@load方法无法精准识别下载的图片的顺序,所以第一张图片的适配会出现问题,这个时候,就由后端去识别判断数组里面第一张图片的宽高,再传给前端,然后再进行赋值适配
③@load方法中,将处理过的高度还有对应的index push进一个全新的数组当中,根据数组中的index和对应的index高度去调节swiper的高度

 <swiper class="swiper":indicator-dots="indicatorDots" :current='current':interval="interval" :style="{height:swiperHeight}"@change='changeImg'><swiper-item v-for="(item,index) in itemData.data" :key="index" @click="gotoPages(item)" ><image :src="item.imgUrl" :data-index='index' mode="widthFix" @click="previewImage(index)" @load='handleImg' lazy-load='true' :style="{height:imgList[current]}"></image></swiper-item></swiper>
 data(){return{indicatorDots: true,autoplay: false,duration: 500,interval: 2000,indicatorActiveColor:'#ffffff',customBarH:'',swiperHeight:'',imgList:[] /*图片的高度列表*/,current:0}},props:['itemData','height'],mounted(){this.showImg()},methods:{/*跳转页面*/gotoPages(e){this.gotoPage(e.linkUrl);},showImg(){this.$nextTick(()=>{this.imgList[0]=this.itemData.heightthis.swiperHeight=this.imgList[0]})},handleImg(e){let winWid = uni.getSystemInfoSync().windowWidth;              let imgh = e.detail.height;                let imgw = e.detail.width;let index=e.currentTarget.dataset.indexlet swiperH = winWid * imgh / imgw +'px'this.imgList[index]=swiperH// this.swiperHeight=swiperH},changeImg(e){this.current=e.detail.currentthis.swiperHeight=this.imgList[this.current]},}

【uniapp】轮播图图片适配相关推荐

  1. JS 轮播图 图片切换(定时器)

    标题JS 轮播图 图片切换(定时器) 这次的轮播图与上次的图片切换相比,仅仅是加上了定时器,使其可以自动切换. 上次的图片切换的链接:https://blog.csdn.net/qq_38318589 ...

  2. 微信小程序—swiper轮播图图片不显示的解决方法

    swiper轮播图图片不显示的解决方法 遇到图片无法显示的问题,是样式问题 在wxss里面新型修改 设置宽度 .container{width: 750rpx; } .container swiper ...

  3. 微信小程序轮播图单独添加图片、修改轮播图图片、单独修改某张图片

    小老弟上课的基本见解,有错误欢迎大牛们指正 <!--pages/swiper/swiper.wxml--> <text>pages/swiper/swiper.wxml< ...

  4. uni-app 轮播图视频+图片 视频图片全屏预览 两种方法

    项目场景: 在做商城项目的时候,商品详情的轮播图需要同时显示视频和图片,并且能够全局预览 解决方案: 如果项目里有uview这个组件库,可以通过swiper轮播图的指定类型进行解决,点击这里进行跳转 ...

  5. uniapp——轮播图(官方)、卡片轮播图

    一.轮播图(官方) 代码: <template><view class="content"><!-- <cu-custom bgColor=&q ...

  6. 小程序轮播图高度适配

    小程序轮播图适配 在开发小程序轮播图时,我遇到一下问题:小程序轮播图的导航栏总是不能放在正确的位置上,思考再三,我发现问题的原因是:当我们设置image的mode="widthFix&quo ...

  7. uniapp轮播图(swiper)

    属性名 类型 默认值 说明 平台差异说明 indicator-dots Boolean false 是否显示面板指示点 indicator-color Color rgba(0, 0, 0, .3) ...

  8. 【Web前端】【疑难杂症】轮播图图片自适应显示问题(bootstrap3轮播图)

    关键代码 html <!-- 轮播图开始--><div id="header" class="carousel slide"><! ...

  9. Vuetify Carouse轮播图 图片切换导致页面总是自动跳转到轮播图位置

    文章目录 begin !!! Solution1 Solution2 end begin vuetify carouse轮播图 的图片自动切换的时候, 会自动聚焦跳转到轮播图自身的位置. 这导致了一个 ...

最新文章

  1. 如何将半页纸论文写到十页?
  2. eclipse的常见使用之工作空间/项目的创建删除
  3. 你真正了解什么是 Cloud Native 吗?
  4. linux 文件系统检查命令
  5. JDK自带的log-java.util.logging
  6. mysql数据库表复用_MySQL 数据库之表操作
  7. cache 访问延迟背后的计算机原理
  8. 梦幻西游物价稳定的服务器,梦幻西游:三界功绩对服务器点卡比例的影响,鬼区比例比火区高...
  9. Spring Boot集成Redis缓存之注解方式
  10. 影响搜索引擎收录网站内容的四大原因分析
  11. 请教 indy 中的 tldUdpServer 如何实现对本地端口6100进行监听!
  12. CIO,你想做一辈子“消防员”吗?
  13. JQuery中ajax用法
  14. SAP的Abap培训
  15. CRUD了3 年从8K涨到30K,谁知道这4个月我到底经历了什么?
  16. DNA 8. 癌症的突变异质性及寻找新的癌症驱动基因(MutSigCV)
  17. Android 自定义viewGroup实现淘宝二楼及处理多指触控事件
  18. c语言中if函数作用,c语言函数if的用法怎么用
  19. csps2019格雷码
  20. 牛顿迭代法 解 二元高次方程组 Mathematica

热门文章

  1. 2022-2028全球子午线轮胎模具行业调研及趋势分析报告
  2. FireFox浏览器实用扩展推介
  3. 干货 | 揭开对机器学习的七点误解
  4. 撤下杨笠:英特尔丢了市场后,再失“体面”
  5. 文字编辑器将网页添加到工具栏教程
  6. 图片上传并保存到数据库以及显示图片
  7. Python学习笔记 - 探索字符串格式化
  8. 大数据的简单生活作用及未来发展前景
  9. PHP生成微信临时和永久二维码
  10. 笔记本WIFI无法使用?驱动人生6大解决方案