微信小程序实现image组件图片自适应宽度比例显示的方法


Posted in Javascript onJanuary 16, 2018

本文实例讲述了微信小程序实现image组件图片自适应宽度比例显示的方法。分享给大家供大家参考,具体如下:

一. 了解image组件

微信小程序实现image组件图片自适应宽度比例显示的方法

由于image有默认的固定的宽度和高度,这样我们在做图片自适应的时候,就不好做了。下面就来一起解决下

二. 方法

(一).使用mode:widthFix

widthFix:宽度不变,高度自动变化,保持原图宽高比不变。
首先我们先设置image的mode为widthFix,然后给图片加一个固定rpx的宽度,比如:730rpx。

这样图片也可以自适应了。。因为小程序的rpx本身就是一个自适应显示的单位

(二).使用bindload绑定函数动态自适应。

我们可以给image绑定一个函数,这个函数,如上面的bindload说明一样,我们可以获取到原图的宽度和高度。

然后计算他们的宽高比率。。然后设置一个宽度大小(rpx),最后通过style动态设置image的宽高。代码如下:

1. 编写页面结构index.wxml:

<image src="../uploads/2.jpg" bindload="imageLoad"
style="width:{{imgwidth}}rpx; height:{{imgheight }}rpx;"></image>

2. 设置数据index.js

//获取应用实例
var app = getApp()
Page({
  data: {
    screenWidth: 0,
    screenHeight:0,
    imgwidth:0,
    imgheight:0,
  },
  onLoad: function() {
    var _this = this;
    wx.getSystemInfo({
      success: function(res) {
        _this.setData({
          screenHeight: res.windowHeight,
          screenWidth: res.windowWidth,
        });
      }
    });
  },
  imageLoad: function(e) {
    var _this=this;
    var $width=e.detail.width,  //获取图片真实宽度
      $height=e.detail.height,
      ratio=$width/$height;  //图片的真实宽高比例
    var viewWidth=500,      //设置图片显示宽度,
      viewHeight=500/ratio;  //计算的高度值
    this.setData({
      imgwidth:viewWidth,
      imgheight:viewHeight
    })
  }
})

微信小程序实现image组件图片自适应宽度比例显示的方法

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
jQuery右键菜单contextMenu使用实例
Sep 28 Javascript
编写针对IE的JS代码两种编写方法
Jan 30 Javascript
JavaScript必知必会(七)js对象继承
Jun 08 Javascript
JS实现的打字机效果完整实例
Jun 20 Javascript
jQuery仿IOS弹出框插件
Feb 18 Javascript
vue子组件使用自定义事件向父组件传递数据
May 27 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
Dec 07 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
Mar 02 Javascript
Vue组件间通信 Vuex的用法解析
Aug 05 Javascript
js刷新页面location.reload()用法详解
Dec 09 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
May 09 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 #Javascript
AngularJS监听ng-repeat渲染完成的两种方法
Jan 16 #Javascript
微信小程序实现流程进度的图样式功能
Jan 16 #Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 #Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 #Javascript
详解layui中的树形关于取值传值问题
Jan 16 #Javascript
基于JavaScript实现抽奖系统
Jan 16 #Javascript
You might like
php将会员数据导入到ucenter的代码
2010/07/18 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
Python logging模块用法示例
2018/08/28 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
python给list排序的简单方法
2020/12/10 Python
numpy实现RNN原理实现
2021/03/02 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
建筑工程毕业生自我鉴定
2014/01/14 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
企业晚会策划方案
2014/05/29 职场文书
2014年个人委托书范本
2014/10/13 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python