微信小程序实现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 相关文章推荐
Display SQL Server Version Information
Jun 21 Javascript
关于js datetime的那点事
Nov 15 Javascript
全面理解面向对象的 JavaScript(来自ibm)
Nov 10 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
最全的Javascript编码规范(推荐)
Jun 22 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
Vue+element-ui 实现表格的分页功能示例
Aug 18 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
vue实现员工信息录入功能
Jun 11 Javascript
深入解读VUE中的异步渲染的实现
Jun 19 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
Nov 19 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
Yii核心组件AssetManager原理分析
2014/12/02 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
Python 实现简单的电话本功能
2015/08/09 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
Python线程之定位与销毁的实现
2019/02/17 Python
python实现图书借阅系统
2019/02/20 Python
Python实现名片管理系统
2020/02/14 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
如何理解Python中包的引入
2020/05/29 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
锦旗标语大全
2014/06/23 职场文书
创建文明城市倡议书
2015/04/28 职场文书
恰同学少年观后感
2015/06/08 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP