当前位置:首页>编程日记>正文

微信小程序 点击卡片切换 动画效果

本站寻求有缘人接手,详细了解请联系站长QQ1493399855

微信小程序开发交流qq群   173683895

微信小程序 点击卡片切换 动画效果 配图01   承接微信小程序开发。扫码加微信。

正文:

微信小程序 点击卡片切换 动画效果 配图02

html

<view class='aa'><image animation="{{animationData0}}" class='img0' style='z-index: {{index_0}};' bindtap='bindtap_img' id='0' src="{{clubs[0].image}}"></image><image animation="{{animationData1}}" class='img1' style='z-index: {{index_1}};' bindtap='bindtap_img' id='1' src="{{clubs[1].image}}"></image><image animation="{{animationData2}}" class='img2' style='z-index: {{index_2}};' bindtap='bindtap_img' id='2' src="{{clubs[2].image}}"></image>
</view><view class='is_height_1' id="is_height_1" style='height:120rpx;width:300rpx;'></view>
<view id="is_height_2" style='height:380rpx;width:200rpx;'></view>

css


page{background: #3B4595
}
.aa{position: relative;margin-top: 50rpx;
}
.img0{border-radius: 5rpx;position: absolute;left:180rpx;width: 375rpx;height: 230rpx;}
.img1{border-radius: 5rpx;position: absolute;left: 60rpx;width: 240rpx;height: 150rpx;top: 40rpx;
}
.img2{border-radius: 5rpx;position: absolute;left: 440rpx;width: 240rpx;height: 150rpx;top: 40rpx;
}

js


var is_1_height, is_1_width, is_2_height, is_2_width, is_img0_width, is_img0_height, is_img1_width, is_img1_height;
var item = 0;
var fangxiang;
Page({data: {index_0: 3,clubs: [{ image: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1532684585498&di=39c818a83b5f9d295a662dc9cb3deb4a&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F0117e2571b8b246ac72538120dd8a4.jpg%401280w_1l_2o_100sh.jpg' }, { image: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1532684585498&di=03509b946c2086ab814276a076ec9069&imgtype=0&src=http%3A%2F%2Fimg07.tooopen.com%2Fimages%2F20170316%2Ftooopen_sy_201956178977.jpg' }, { image: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1532684585497&di=d3bb16864ad73dfedc225209a218ed74&imgtype=0&src=http%3A%2F%2Fwww.qqma.com%2Fimgpic2%2Fcpimagenew%2F2018%2F4%2F5%2F6e1de60ce43d4bf4b9671d7661024e7a.jpg' }]},onShow: function () {this.animation1 = this.animation2 = this.animation0 = wx.createAnimation({duration: 600,timingFunction: 'ease',})},bindtap_img: function (e) {var that = this;switch (item) {case 0:if (e.target.id == 0) {this.setData({index_0: 3,})item = 0;} else if (e.target.id == 1) {this.setData({index_2: 0,index_0: 2,index_1: 3,})fangxiang = 'right';item = 1;} else if (e.target.id == 2) {this.setData({index_1: 0,index_0: 2,index_2: 3,})fangxiang = 'left';item = 2}break;case 1:if (e.target.id == 0) {this.setData({index_2: 0,index_1: 2,index_0: 3,})item = 0} else if (e.target.id == 1) {this.setData({index_1: 3,})fangxiang = 'right';item = 1} else if (e.target.id == 2) {this.setData({index_0: 0,index_1: 2,index_2: 3,})fangxiang = 'left';item = 2}break;case 2:if (e.target.id == 0) {this.setData({index_0: 3,index_2: 2,index_1: 0,})item = 0} else if (e.target.id == 1) {this.setData({index_0: 0,index_2: 2,index_1: 3,})fangxiang = 'right';item = 1} else if (e.target.id == 2) {this.setData({index_2: 3,})fangxiang = 'left';item = 2}break;default:console.log('11111')}if (e.target.id == 1) {// 先旋转同时放大,然后平移this.animation0.scale(is_img1_width / is_img0_width, is_img1_height / is_img0_height).translateX(is_1_width).step()this.setData({animationData0: this.animation0.export(),})this.animation1.scale(is_img0_width / is_img1_width, is_img0_height / is_img1_height).translateX(is_1_height).step()this.setData({animationData1: this.animation1.export(),})this.animation2.scale(1, 1).translateX(-is_2_height).step()this.setData({animationData2: this.animation2.export(),})} else if (e.target.id == 2) {// 先旋转同时放大,然后平移this.animation0.scale(is_img1_width / is_img0_width, is_img1_height / is_img0_height).translateX(-is_1_width).step()this.setData({animationData0: this.animation0.export(),})this.animation1.scale(1, 1).translateX(is_2_height).step()this.setData({animationData1: this.animation1.export(),})this.animation2.scale(is_img0_width / is_img1_width, is_img0_height / is_img1_height).translateX(-is_1_height, is_2_width).step()this.setData({animationData2: this.animation2.export(),})} else if (e.target.id == 0) {// 先旋转同时放大,然后平移this.animation0.scale(1, 1).translateX(0).step()this.setData({animationData0: this.animation0.export(),})this.animation1.scale(1, 1).translateX(0).step()this.setData({animationData1: this.animation1.export(),})this.animation2.scale(1, 1).translateX(0).step()this.setData({animationData2: this.animation2.export(),})}var clubs = this.data.clubs;this.setData({index: e.target.id,current: clubs[e.target.id]})},onLoad: function (options) {wx.createSelectorQuery().select('#is_height_1').boundingClientRect(function (rect) {is_1_width = Number(rect.width)is_1_height = Number(rect.height)  // 节点的宽度}).exec();wx.createSelectorQuery().select('#is_height_2').boundingClientRect(function (rect) {is_2_width = Number(rect.width)  // 节点的宽度is_2_height = Number(rect.height)  // 节点的宽度}).exec();wx.createSelectorQuery().select('.img0').boundingClientRect(function (rect) {is_img0_width = Number(rect.width)  // 节点的宽度is_img0_height = Number(rect.height)  // 节点的宽度console.log(is_img0_width)}).exec();wx.createSelectorQuery().select('.img1').boundingClientRect(function (rect) {is_img1_width = Number(rect.width)  // 节点的宽度is_img1_height = Number(rect.height)  // 节点的宽度}).exec();},
})  

 


http://www.coolblog.cn/news/11e633b6d2d53c58.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • Mac原生Terminal快速登录ssh
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • mysql commit 机制_1024MySQL事物提交机制
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • 2019-9
  • jquery 使用小技巧
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Django View(视图系统)
  • 【设计模式】 模式PK:策略模式VS状态模式
  • JS实现-页面数据无限加载
  • CSS小技巧——CSS滚动条美化
  • 最新DOS大全
  • 阿里巴巴分布式服务框架 Dubbo
  • 阿里大鱼.net core 发送短信
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 程序员入错行怎么办?
  • Arm芯片的新革命在缓缓上演
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • 《看透springmvc源码分析与实践》读书笔记一
  • 通过Spark进行ALS离线和Stream实时推荐
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • 行为模式之Template Method模式