小程序之 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 ...
随机推荐
- kubernetes集群应用部署实例
今天,我们将要带来入门hello world示例,它是一个web留言板应用,基于PHP+Redis的两层分布式架构的web应用,前端PHP web网站通过访问后端Redis数据库完成用户留言的查询和添 ...
- 实验一 C运行环境与最简单程序设计
#include<stdio.h> int main(){ int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n&quo ...
- 关于最小生成树(并查集)prime和kruskal
适合对并查集有一定理解的人. 新手可能看不懂吧.... 并查集简单点说就是将相关的2个数字联系起来 比如 房子 1 2 3 4 5 6 ...
- ssl证书 以及phpstudy配置ssl证书
首先,确保你的Apache编译了SSL模块,这是支持SSL证书必要的条件(如果没有,请编译,[打开phpstudy]>[其他选项菜单]>[PHP扩展]>[php-openssl]前面 ...
- 007-li标签CSS水平居中垂直居中
水平居中是text-align:center垂直居中 一般是用 line-height比如你li的高度是80px 那你设置 line-height:80px 文字就垂直居中
- JVM运行原理
JVM运行原理
- MySQL根据出生日期计算年龄
以前使用mysql不是很多,对mysql的函数也不是很熟悉,遇到这个问题第一时间百度搜索,搜索到这两种方法,这两种方法是排在百度第一条的博客. 方法一 SELECT DATE_FORMAT(FROM_ ...
- NOIP2018总结
细细想来,学习OI也有4年多的时间了,今年已经是第二次参加noip提高组了,有必要写点什么了 NOIP2018 记得在天刚蒙蒙亮的时候走进70中,这是第四次了,但紧张只增不减,在刺骨的寒风下身体微微发 ...
- 用python写栈
class StackFullError(Exception): pass class StackEmptyError(Exception): pass class Stack: def __init ...
- CCF CSP 201703-1 分蛋糕
题目链接:http://118.190.20.162/view.page?gpid=T57 问题描述 试题编号: 201703-1 试题名称: 分蛋糕 时间限制: 1.0s 内存限制: 256.0 ...