微信小程序之swiper组件高度自适应

article/2025/9/15 14:29:22

要求: (顶部广告栏 )

   改变swiper组件的固定高度,使之随内部每张图片的高度做自适应

原理: 

   图片加载完之后,获取图片的原始宽高,根据宽高比,计算出适应后的宽高,如果是适应屏幕宽度的话,就用到 wx.getSystemInfo() 方法设备的信息,并保存到一个数组中,(因为加载的原因不能用push,只能根据索引),切换时监听当前显示的图片,根据其索引找到对应的高度,并赋值给组件即可。

  

wxml:

复制代码

<view class='swiper'><swiper indicator-dots="{{indicatorDots}}" vertical="{{vertical}}" autoplay="{{autoplay}}" duration="{{duration}}" interval='{{interval}}' bindchange="bindchange"  circular="{{circular}}" style="height:{{imgheights[current]}}rpx;"><block wx:for='{{imgList}}' wx:key="{{index}}"><swiper-item><image src="{{item}}" data-id='{{index}}' class="slide-image" mode="widthFix" bindload="imageLoad"/></swiper-item></block></swiper></view>

复制代码

wxss:

.swiper image {width: 100%;height: auto;
}

js:

复制代码

data: {//图片地址imgList: ['/images/wyh-img_bg.png', '/images/wyh-img8.png', '/images/wyh-img_shop1.png', '/images/wyh-img_bg1.png'],//是否采用衔接滑动  circular: true,//是否显示画板指示点  indicatorDots: false,//选中点的颜色  indicatorcolor: "#000",//是否竖直  vertical: false,//是否自动切换  autoplay: true,//自动切换的间隔interval: 2500,//滑动动画时长毫秒  duration: 100,//所有图片的高度  imgheights: [],//图片宽度 imgwidth: 750,//默认  current: 0},
imageLoad: function (e) {//获取图片真实宽度  var imgwidth = e.detail.width,imgheight = e.detail.height,//宽高比  ratio = imgwidth / imgheight;console.log(imgwidth, imgheight)//计算的高度值  var viewHeight = 750 / ratio;var imgheight = viewHeight;var imgheights = this.data.imgheights;//把每一张图片的对应的高度记录到数组里  imgheights[e.target.dataset.id] = imgheight;this.setData({imgheights: imgheights})},bindchange: function (e) {// console.log(e.detail.current)this.setData({ current: e.detail.current })},

http://chatgpt.dhexx.cn/article/qq4EXCoA.shtml

相关文章

微信小程序图片固定宽度,高度自适应处理方法及相关API介绍

微信小程序图片固定宽度&#xff0c;高度自适应处理方法及相关API介绍 1、背景 在我们写js代码时&#xff0c;控制图片固定宽度固定&#xff0c;使得高度自适应缩小&#xff0c;是非常简单的&#xff0c;但在微信小程序中不了解微信小程中组件image相关的属性是有些麻烦的&am…

html微信图片自适应,微信小程序实现图片高度自适应

1. swiper轮播海报通过wx.getSystemInfo接口获取屏幕高度&#xff0c;高度依据图片宽高等比缩放 运行于app.js&#xff0c;全局保存 // 设备信息 wx.getSystemInfo({ success: function(res) { that.screenWidth res.windowWidth; } }); page前端调用 bannerHeight: Math.ceil…

微信小程序的swiper轮播图中的图片设置自适应高度的一种方法

微信小程序的swiper轮播图中的图片设置自适应高度的一种方法 小程序中的轮播图很简单&#xff0c;但是唯一的缺陷就是 swiper 是固定的150px 高度&#xff08;320px 宽度&#xff09;&#xff0c;这样如果传入的图片大于这个高度就会被隐藏。那么如何让图片自适应不同分辨率是一…

【小程序中image自适应以及默认高度问题】

原因&#xff1a;小程序不知道background-image&#xff0c;本人开发小程序有个头图&#xff0c;根据天气展示不同的头图&#xff0c;要适配各种宽窄不同的屏幕以及Ipad&#xff0c;不能拉伸图片&#xff0c;UI不同意使用渐变&#xff0c;其实使用宽100%完全可以解决&#xff0…

小程序图片高度自适应等问题

小程序图片高度自适应 这里踩了很多遍的坑&#xff0c;花了很多时间&#xff0c;以为像以前以前给他上级的盒子不给高度就行了&#xff0c;oh,no&#xff0c;这是一个坑&#xff0c;关键在于image标签的一个属性&#xff1a;mode"widthFix"&#xff0c;简单搞定 &l…

微信小程序图片高度按照图片真实宽高比自适应

原理&#xff1a;image组件bindload属性 前端在按照设计图定的宽度做好图片的宽高之后&#xff0c;如果图片的原始宽高比对应不上&#xff0c;那么图片就会出现拉伸变形的情况&#xff0c;虽然微信小程序有mode属性可以对图片进行适应&#xff0c;但是会有部分显示不完全或者会…

微信小程序——整个页面的自动适应布局、图片自适应、高度自动占满剩余部分

1、按比例适应布局 大家有没有过一个烦恼&#xff0c;就是让某个view的高度或者宽度扩大点&#xff0c;而且是要按比例适应不同的手机&#xff0c;遇到这类问题应该怎么办&#xff1f; 下面就为大家讲解怎么做一个能够自动适应不同手机的布局 1、像素单位 rpx 首先&#xff…

用arcgis裁剪面时出错,ERROR 999999: 执行函数时出错

转载地址&#xff1a;http://blog.sina.com.cn/s/blog_712f5b3b0101frfj.html 方法&#xff1a;ArcToolBox tool Data Management Tools -> Features -> Repair Geometry . 注&#xff1a;要裁剪的图层是要编辑&#xff08;editor&#xff09;状态。

ArcGIS裁剪时警告 warning001003:Datum conflict between input and output

问题描述 ArcGIS进行clip操作的时候警告&#xff1a;warning001003:Datum conflict between input and output。 原因 问题在于&#xff0c;输入和裁剪范围的坐标系不同。即Input raster和output extent两个图层的坐标系不同。 解决方案 统一坐标系统&#xff0c;具体方法很…

ArcGIS裁剪影像如何保持裁剪完全一致

ArcGIS裁剪影像如何保持裁剪范围完全一致 在长时间序列的数据分析中&#xff0c;经常会遇到要求所有的栅格数据范围一致&#xff0c;栅格数一致&#xff0c;所以在使用ArcGIS时&#xff0c;需要设置一些参数&#xff0c;才能得到正确的结果。 使用mask工具&#xff08;掩膜提取…

gis 数据框裁剪_ArcGIS中裁剪工具的使用

应约讲下裁剪。数据裁剪是经常使用的一个工具&#xff0c;工具说明也直接明了&#xff0c;隐藏功能他是不是说的&#xff0c;今天具体讲讲怎么用。 1.分析工具-提取分析-裁剪&#xff0c;启动裁剪工具。 2.将数据选中后&#xff0c;进行裁剪。输入要素此时不做任何选中。 看结果…

ArcGIS:矢量、栅格文件裁剪(批量处理)

一、栅格文件批量裁剪 1.加载矢量边界&#xff08;xzq&#xff09;&#xff0c;在Catalog对应文件夹中可查看原始数据为6个tif文件 2.在工具栏中打开ModelBuilder: &#xff08;1&#xff09;将矢量边界拖入Model&#xff1b;通过Insert->Iterators->Rasters添加栅格数据…

ArcMap(ArcGIS)批量裁剪图片【超详细】

1、将shp文件拖入ArcMap 2、打开工具&#xff08;ArcToolbox&#xff09; 3、右键按掩膜提取&#xff0c;选择批处理 4、增加列表的行数&#xff0c;使其与需要进行批量处理的图像数量保持一致 5、新建excel&#xff0c;填写相关信息 6、选中这17行 将excel数据复制至这1…

ArcGIS栅格裁剪

自己进行了ArcGIS栅格的裁剪&#xff0c;总结了一些小经验&#xff1a; 首先需要准备好待裁剪的栅格影像和裁剪范围&#xff0c;这里是博主自己画的面要素 然后ArcToolbox——数据管理工具——栅格——栅格处理——裁剪 如果选择了使用输入要素裁剪几何&#xff0c;裁剪出的栅…

用arcgis批量裁剪栅格(tiff)数据的矩形区域

首先&#xff0c;打开arcgis软件arcmap&#xff0c;然后加入数据 然后&#xff0c;在工作目录新建一个工具箱并命名​ 新建模型并命名进一步搭建模型 如图&#xff1a; 进一步搭建模型 插入迭代器&#xff0c;选择栅格 ​ 单击迭代栅格数据&#xff0c;选择参数&#xff0c;…

ArcGis批量裁剪栅格图层

1、简述 本文主要讲述&#xff1a; 还是老样子&#xff0c;先给初始的样子&#xff1a; 这些都是一个县的栅格图层&#xff0c;现在要全部裁剪为指定村的栅格图层&#xff0c;这要是用按掩膜提取工具去一个个裁剪&#xff0c;这得弄多久呀&#xff01;&#xff01; 于是利用A…

arcgis栅格影像裁剪--shp

1、打开软件&#xff0c;导入数据&#xff0c;如下&#xff1a; 2、裁剪面形状如下&#xff0c;为shp文件&#xff1a; 3、在arctoolbox中找到"数据管理工具"--"栅格"--"栅格处理"--"裁剪"工具&#xff0c;如下&#xff1a; 4、打开裁…

【彩艳】ArcGIS影像裁剪说明

作者&#xff1a;彩艳 1 数据准备 栅格数据&#xff1a;卫星影像图&#xff08;tif/jpg等格式&#xff09;矢量数据&#xff1a;用于裁剪与栅格重叠的矢量面数据&#xff08;.shp&#xff09; 2 裁剪步骤 2.1 单个矢量文件裁剪 &#xff08;1&#xff09;数据加载。打开Ar…

ARCGIS批量矢量裁剪.

ARCGIS批量矢量裁剪. 平台&#xff1a;ARCGIS10.8 工具&#xff1a;模型构建器 将需要使用的工具拖入模型构建器中 2.在模型构建器中选择插入&#xff08;insert&#xff09; 3.输入两个模型后&#xff0c;双击iterate feature classes 4.右键iterate feature classes点击ru…

Arcgis栅格裁剪批处理工具

前提 有时候需要批量裁剪栅格或者矢量,在没有脚本的情况下,需要处理大量的数据还是比较麻烦的,其实,Arcgis本身自带批处理功能,基本上所有的工具都支持,下面以栅格裁剪为案例 效果 1、打开栅格裁剪工具 2、右键选择批处理 3、编辑参数 1)输入栅格参数 如果图层中已加…