最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

微信小程序image图片加载完成监听

来源:动视网 责编:小采 时间:2020-11-27 21:51:30
文档

微信小程序image图片加载完成监听

微信小程序image图片加载完成监听:需求 在应用中显示的图片很多情况不满足业务需求,我们需要动态根据图片的宽高进行缩放或加载中显示的缺省图片,这是我没就需要监听图片加载完成回调,来看看微信小程序怎么实现图片加载完成回调。 实现 1. 绑定回调 通过image标签的bindload属性绑定图片加
推荐度:
导读微信小程序image图片加载完成监听:需求 在应用中显示的图片很多情况不满足业务需求,我们需要动态根据图片的宽高进行缩放或加载中显示的缺省图片,这是我没就需要监听图片加载完成回调,来看看微信小程序怎么实现图片加载完成回调。 实现 1. 绑定回调 通过image标签的bindload属性绑定图片加

需求

在应用中显示的图片很多情况不满足业务需求,我们需要动态根据图片的宽高进行缩放或加载中显示的缺省图片,这是我没就需要监听图片加载完成回调,来看看微信小程序怎么实现图片加载完成回调。

实现

1. 绑定回调

通过image标签的bindload属性绑定图片加载完成回调函数,src根据图片加载是否完成绑定是否显示缺省图:

<image src='{{loadComplete?srcImagePath:defaultImagePath}}' bindload="imageLoad"/>

2. 回调监听

在js文件中定一个imageLoad函数,我们就可以通过参数拿到图片加载完成宽高信息:

imgOnLoad(ev) {
 let src = ev.currentTarget.dataset.src,
 width = ev.detail.width,
 height = ev.detail.height
 }

3. 缩放图片

我们写一个工具类,然后调用imageUtil方法对原始图片根据屏幕宽高进行等比例缩放。

function imageUtil(e) {
 var imageSize = {};
 var originalWidth = e.detail.width;//图片原始宽 
 var originalHeight = e.detail.height;//图片原始高 
 var originalScale = originalHeight / originalWidth;//图片高宽比 
 console.log('originalWidth: ' + originalWidth)
 console.log('originalHeight: ' + originalHeight)
 imageSize.imageWidth = originalWidth;
 imageSize.imageHeight = originalHeight;
 //获取屏幕宽高 
 wx.getSystemInfo({
 success: function (res) {
 var windowWidth = res.windowWidth;
 var windowHeight = res.windowHeight;
 var windowscale = windowHeight / windowWidth;//屏幕高宽比 
 if (originalScale < windowscale) {//图片高宽比小于屏幕高宽比 
 //图片缩放后的宽为屏幕宽 
 imageSize.imageWidth = windowWidth;
 imageSize.imageHeight = (windowWidth * originalHeight) / originalWidth;
 } else {//图片高宽比大于屏幕高宽比 
 //图片缩放后的高为屏幕高 
 imageSize.imageHeight = windowHeight;
 imageSize.imageWidth = (windowHeight * originalWidth) / originalHeight;
 }
 imageSize.imageWidth = windowWidth;
 imageSize.imageHeight = windowHeight;
 }
 })
 console.log('缩放后的宽: ' + imageSize.imageWidth)
 console.log('缩放后的高: ' + imageSize.imageHeight)
 return imageSize;
}

4. 修改image宽高

通过imageUtil获取到目标宽高后,this.setData({width:imageUtil(e).width, height:imageUtil(e).height}) 即可以动态修改图片宽高了(e是imageLoad方法中的参数):

<image src='{{loadComplete?srcImagePath:defaultImagePath}}' bindload="imageLoad" style='width:width;height:height'/>

文档

微信小程序image图片加载完成监听

微信小程序image图片加载完成监听:需求 在应用中显示的图片很多情况不满足业务需求,我们需要动态根据图片的宽高进行缩放或加载中显示的缺省图片,这是我没就需要监听图片加载完成回调,来看看微信小程序怎么实现图片加载完成回调。 实现 1. 绑定回调 通过image标签的bindload属性绑定图片加
推荐度:
标签: 微信 图片 小程序
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top