小程序之 swiper高度根据图片高度变化
今天做的是这个效果⬇️ swiper的高度根据图片的高度而改变


wxml:
<swiper indicator-dots="{{indicatorDots}}" vertical="{{vertical}}" bindchange="bindchange" style="height:{{imgheights[current]}}rpx;">
<block wx:for='{{imgUrls}}' wx:key="{{index}}">
<swiper-item>
<image src="{{item}}" data-id='{{index}}' mode="widthFix" bindload="imageLoad" style='width:100%;' bindtap='imgYu' data-src="{{item}}" data-list="{{item}}"/>
</swiper-item>
</block>
</swiper>
data: {
pl: false,
inputMB: false,
zanimg: '../../../images/xin.png',
classzan: '',
nu:false,
swp:,
imgUrls: [
],
hd: false,
hd1: false,
back:false,
zz: false,
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo'),
canIUse1: wx.canIUse('button.open-type.openSetting'),
//是否采用衔接滑动
circular: true,
//是否显示画板指示点
indicatorDots: true,
//选中点的颜色
indicatorcolor: "#000",
//是否竖直
vertical: false,
//滑动动画时长毫秒
duration: ,
//所有图片的高度
imgheights: [],
//图片宽度
imgwidth: ,
//默认
current:
},
imageLoad: function (e) {//获取图片真实宽度
var imgwidth = e.detail.width,
var imgheight = e.detail.height,
//宽高比
var ratio = imgwidth / imgheight;
//计算的高度值
var viewHeight = / ratio;
var imgheight = viewHeight;
var imgheights = this.data.imgheights;
console.log("imgheights11", imgheights)
//把每一张图片的对应的高度记录到数组里 +90是因为我给图片了一个width:100% 让图片宽撑满屏幕 如把100%去掉这个+90可去掉
imgheights[e.target.dataset.id] = imgheight+;
console.log("imgheights22", imgheights)
this.setData({
imgheights: imgheights
})
},
bindchange: function (e) {
this.setData({ current: e.detail.current})
},
//图片点击事件 点击图片放大
imgYu: function(event) {
var src = event.currentTarget.dataset.src; //获取data-src
var imgList = event.currentTarget.dataset.list; //获取data-list
wx.previewImage({
current: src, // 当前显示图片的http链接
urls: [src]
})
},
代码参考:梦幻飞雪
小程序之 swiper高度根据图片高度变化的更多相关文章
- 微信小程序之swiper组件高度自适应
微信小程序之swiper组件高度自适应 要求: (顶部广告栏 ) 改变swiper组件的固定高度,使之随内部每张图片的高度做自适应 原理: 图片加载完之后,获取图片的原始宽高,根据宽高比,计算出适应后 ...
- 微信小程序基于swiper组件的tab切换
代码地址如下:http://www.demodashi.com/demo/14010.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
- 微信小程序之swiper轮播图中的图片自适应高度
小程序中的轮播图很简单,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏.辣么,怎样让图片自适应不同分辨率捏. 我的思路是:获取屏幕宽度 ...
- 微信小程序 - 自适应swiper高度(非组件)
微信小程序swiper默认高度375rpx,一旦超过这高度,就滑动不到内容了,我们利用css3可以很简单做到这件事情 原理: 利用css3 横轴滚动属性overflow:scroll,设置死swipe ...
- 微信小程序 scroll-view 填满剩余可用高度
根据微信小程序 scroll-view 文档所述,scroll-view必须给定一个固定高度.那么如果我们想要让它自动填充剩余高度,该怎么办呢? 前言 在说出我的解决方案之前,先来看一下我的页面设计, ...
- PHP生成小程序二维码合成图片生成文字
这部分代码是写在项目上的代码,THINKPHP3.1如果迁移到其他的地方应该要稍稍改动一下以适合自己的项目 function get_bbox($text,$fsize,$ffile){ return ...
- 微信小程序使用wxParse,解决图片显示路径问题
我们经常用到发布文章,用的是UEditor百度富文本编辑器,方便排版,存储的也是html代码,这样小程序解析出来的也是排版的样式,但是使用wxParse解析html的时候,因为存储的是图片的相对路径, ...
- 微信小程序富文本中的图片大小超出屏幕
这个问题我在小程序社区中提的,后来有个帮我回答了这个问题,我试了一下可以. 解决办法是过滤富文本内容,给图片标签添加一个样式,限制图片的最大宽度. replace(/\<img/gi, '& ...
- 小程序通过background-image设置背景图片
微信小程序通过background-image设置背景:只支持线上图片和base64图片,不支持本地图片:base64图片设置步骤如下: 1.在网站http://imgbase64.duoshiton ...
随机推荐
- ui component 是一个前端 mvc 开发框架
- layer倒计时弹框/弹层 DEMO
layer.msg("提示语...", { time: 5000, shade: 0.6, success: function (layero, index) { var msg ...
- Cocos Creater 监听程序到后台和重新到前台
cocos creator前后台切换当玩家在玩游戏时,突然接了一个电话,此时游戏会被切到后台待机,所有的声音播放都会停止,等打完电话,回到游戏,游戏又会被切回前台来,需要手动播放声音.可使用如下代码 ...
- php----------php安装xhprof扩展和简单使用
1.下载源码包 https://github.com/longxinH/xhprof (wget https://github.com/longxinH/xhprof/archive/master. ...
- Fiddler使用总结(转载)
原文地址:https://www.cnblogs.com/yyhh/p/5140852.html 序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存 ...
- wangEditor编辑器 Vue基本配置项
wangEditor编辑器 Vue基本配置项 1.Vue安装方法 npm i wangeditor -S <template> <div id='wangeditor'> &l ...
- EF:分页查询 + 条件查询 + 排序
/// <summary> /// linq扩展类---zxh /// </summary> /// <typeparam name="T">& ...
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.UserMapper.findById
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.Use ...
- ubuntu安装postgresql以及pgadmin4当前最新(4.3)网页版
pgAdmin4安装 1.安装安装包 sudo apt-get install build-essential libssl-dev libffi-dev libgmp3-dev virtualenv ...
- 佳佳的Fibonacci
#include<cstdio> #include<cstring> #include<iostream> #include<cmath> #inclu ...