小程序的图片默认大小为320px*240px,有时候需求要显示多张图片(每张图片的规格不一致)自适应屏幕的宽,不失真。这时候你第一反应肯定是写:widht:100%;hegiht:auto;很遗憾地告诉你小程序的图片高度必须是数值,不然不会显示。如果你写:width:100%;那么默认的高度为240px,图片失真。由于每张图片的高度不一致,不能给出确定的高度。那么怎样让图片按比例自适应显示呢?
主要是用到小程序的图片组件image的一个属性bindload(下面会介绍)。
没处理之前,图片默认显示为:320px*240px,图片的原始高度并不是240,所以图片会变形。
小程序的图片组件是image,有一个bindload属性。
bindload:当图片载入完毕时会执行该函数,发布到 AppService 的事件名,事件对象event.detail = {height:’图片高度px’, width:’图片宽度px’}。
页面布局:
image:为图片数组;auto:经过计算之后每张图片的宽高。index:图片对应的索引。
js:
autoImage:每张图片加载完成之后会执行该函数
最后图片显示为: