一、概述:

在开发小程序的项目中,经常会用到swiper这个轮播组件,但是使用的时候会有一个问题,swiper系统会默认一个高度而且是px为单位的,如下:

swiper {

display:block;

height:150px;

}

这些参数可以用其它样式覆盖,但是图片不可能固定高度。image的高度是无法用px固定单位,一般是宽固定 rpx,mode="widthFix" 高度自适应。下面就开始介绍如何用图片在swiper自适应高度,而不会被遮住。

实际效果图如下:

二、实现过程:

1、小程序布局页面wxml

2、小程序 js页面

Page({

/**

* 页面的初始数据

*/

data: {

currentNavtab: 0,//当前第几个swiper

bannerlist: ["http://i2.letvimg.com/lc10_yunzhuanma/201709/25/17/59/5820beca6a5f2d8ad7ebcc9754bbf536_v2_MTMyNjA4NDE2/thumb/2_640_480.jpg", "http://i1.letvimg.com/lc09_yunzhuanma/201711/23/13/13/240be0b0ec63013fd97f1062b16b6043_v2_MTMzMjI3NDUy/thumb/2_640_480.jpg", "http://i1.letvimg.com/lc10_yunzhuanma/201711/23/14/02/c3faf8192281dd307c74957259cf6de3_v2_MTMzMjI3OTEw/thumb/2_640_480.jpg"],//图片切换数组

indicatorDots: true,

autoplay: true,

interval: 5000,

duration: 500,

scrollWidth: 0,

imgheights: []

},

/**

* 生命周期函数--监听页面加载

*/

onLoad: function (options) {

var that=this;

wx.getSystemInfo({

success: function (res) {

//获取屏幕的宽度并保存

that.setData({

scrollWidth: res.windowWidth

});

}

});

},

/*** 预览图片****/

previewImage: function (e) {

var current = e.currentTarget.dataset.src;

wx.previewImage({

current: current,// 当前显示图片的http链接

urls: this.data.bannerlist // 需要预览的图片http链接列表

})

},

//等比缩放图片并保存

imageLoad: function (e) {

//获取图片真实宽度

var imgwidth = e.detail.width,

imgheight = e.detail.height,

//宽高比

ratio = imgwidth / imgheight;

//console.log(imgwidth, imgheight);

//计算的高度值

var viewHeight = parseInt(this.data.scrollWidth) / ratio;

var imgheight = viewHeight.toFixed(0);

var imgheightarray = this.data.imgheights;

//把每一张图片的高度记录到数组里

imgheightarray.push(imgheight);

this.setData({

imgheights: imgheightarray,

});

},

swiperChange: function (e) {

//console.log(e.detail.current);

this.setData({

currentNavtab: e.detail.current

})

}

})

三、结语:

小程序使用起来还是比较麻烦需要去获取图片的真实高度,然后等比缩放,在swiperChange的时候去动态改变高度。

大家有什么问题或技术上的想法可以在此与大家分享,也可以加入前端爱好者QQ群(141999928)一起学习进步:【幸凡前端技术交流群】

0

如果您觉得本文的内容对您的学习有所帮助,捐赠与共勉,支付宝(左)或微信(右)

swiper高度自适应_小程序 swiper 图片高度自适应+预览图片相关推荐

  1. 微信小程序 解决请求服务器手机预览请求不到数据的方法

    微信小程序 解决请求服务器手机预览请求不到数据的方法 微信小程序的文档中明确说明了所有的请求是必须使用https的,以没用过https,由于小程序,不得不接触到https,研究了好长时间把tomcat ...

  2. 小红书多图剪裁+微信图片选择器+大图预览+图片剪裁等等 相册

    最近发现一个挺不错的开源库,推荐给大家. 简介:小红书多图剪裁+微信图片选择器+大图预览+图片剪裁(支持圆形剪裁和镂空剪裁),已适配androidQ,借鉴并升级matisse加载内核!超强定制性可轻松 ...

  3. python 在线预览文件_用Python PyQt写一个在线预览图片的GUI

    在爬完网上一篇帖子,并得到其中的所有图片链接后,写一个GUI来实现在线预览是一个很自然的想法, 相当于实现一个python版的图片浏览器, 通过这个练习,可以让我们更熟悉PyQt这个库. 这里我用的是 ...

  4. swiper高度自适应_小程序自定义导航自适应高度

    小程序导航条自定义,高度自适应iphoneX等刘海手机和其他手机,开启导航自定义需要在app.json文件里将window的 navigationStyle属性设置为: custom,开启导航自定义可 ...

  5. vue swiper中点击预览图片 全屏预览图片 vue点击查看大图

    希望实现的效果,见下图 使用到的插件 使用到的插件 vue-photo-preview 第一步:安装插件 npm install vue-photo-preview --save 第二步:引用 imp ...

  6. uni-app小程序本地打包超过2M不能预览问题;小程序打包过大不能预览和真机调试;uni-app分包;

    一.问题:我们在小程序工具中开发时候,需要本地打包,但是当本地的打包文件大于2M时候,预览的二维码就会有问题,导致真机扫码打不开或者有遗漏. 二.此时就需要开启分包 1.微信小程序每个分包的大小是2M ...

  7. uni-app 微信小程序 支付宝小程序(alipay) 百度小程序(baidu),预览pdf(链接和base64) 及下载(仅微信),window.open uni.downloadFile

    废话不多说直接上代码吧 之前搜了一大堆有的没的,最终还是小伙伴巴拉文档一起找到的方案(离不开小伙伴的帮助,自己总容易陷入死局,在此鸣谢 疾风李青!): 想起个事:一定要给这些路径的域名配到相应的开发管 ...

  8. 微信小程序打开pdf文件;uni-app下载打开pdf文件;uni-app微信小程序下载打开pdf文件预览;

    1.首先需要在小程序后台-开发设置-服务器域名 配置好下载的域名.不配置:会导致下载失败和打开文件失败: 2.pdf文件的url要确保可以浏览器直接打开. <template><vi ...

  9. 微信小程序---下载、打开及预览PDF文件的方法

    微信小程序的常用功能:打开PDF格式的文档.小程序的官方API是 wx.downloadFile.wx.openDocument(点击可以直接跳转到官方文档的解释) 详细用法请看Demo: //下载P ...

最新文章

  1. 【FFmpeg】如何通过url的格式找到对应的协议,以rtmp为例
  2. create-react-app支持antd按需导入
  3. React.js 小书 Lesson5 - React.js 基本环境安装
  4. Xming+putty操作篇
  5. 2016百度之星 - 资格赛(Astar Round1)
  6. dw1000 配置无法通过
  7. 微信小程序textArea组件字数限制
  8. linux初始化root密码
  9. 电脑卡顿不流畅是什么原因_为什么安卓系统用久了会卡,苹果系统却依然流畅?原因找到了!...
  10. ajax加载进度百分比,在ajax中显示加载百分比的进度条,php
  11. Mobaxterm中使用git log报错/bin/busybox.exe less -R no such file or directory
  12. python sys模块详解_python之sys模块详解
  13. 简单触发器的使用 -- 献给SQL初学者
  14. vim 的复制粘贴剪切
  15. C语言练手题(52个小练习)
  16. C语言中bzero函数
  17. 虚拟串口软件VSPD下载安装及使用 包含XCOM串口调试软件
  18. 考研题目 第二章线性表
  19. java数据结构运动会分数统计,数据结构实验报告(运动会分数统计系)..doc
  20. 区块链概念及简单介绍

热门文章

  1. MATLAB 求函数极值的内置函数一览表(实则优化算法函数汇总)
  2. uniapp指纹面容检测功能案例
  3. 关于FPGA中有符号数表示方法的一些认识
  4. ChatGPT超越经典,重新定义《青花瓷》的永恒之美!
  5. Python OpenCV生成图片
  6. 小赢理财获iTrust互联网信用评价中心AAA级信用认证
  7. 操作系统之进程的状态和转换详解
  8. #考试酷#A9_Bitwise Operators
  9. sql优化--勿以善小而不为 勿以恶小而为之
  10. ORA-12518 解决办法