微信小程序实现弹出菜单


Posted in Javascript onJuly 19, 2018

本文实例为大家分享了微信小程序实现弹出菜单的具体代码,供大家参考,具体内容如下

菜单

微信小程序实现弹出菜单

代码:

1.index.js

//index.js
//获取应用实例
var app = getApp()
Page({
 data: {
 isPopping: false,//是否已经弹出
 animationPlus: {},//旋转动画
 animationcollect: {},//item位移,透明度
 animationTranspond: {},//item位移,透明度
 animationInput: {},//item位移,透明度
 //我的博客:http://blog.csdn.net/qq_31383345
 //CSDN微信小程序开发专栏:http://blog.csdn.net/column/details/13721.html
 },
 onLoad: function () {

 },
 //点击弹出
 plus: function () {
 if (this.data.isPopping) {
  //缩回动画
  popp.call(this);
  this.setData({
  isPopping: false
  })
 } else {
  //弹出动画
  takeback.call(this);
  this.setData({
  isPopping: true
  })
 }
 },
 input: function () {
 console.log("input")
 },
 transpond: function () {
 console.log("transpond")
 },
 collect: function () {
 console.log("collect")
 }
})



//弹出动画
function popp() {
 //plus顺时针旋转
 var animationPlus = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 var animationcollect = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 var animationTranspond = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 var animationInput = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 animationPlus.rotateZ(180).step();
 animationcollect.translate(-100, -100).rotateZ(180).opacity(1).step();
 animationTranspond.translate(-140, 0).rotateZ(180).opacity(1).step();
 animationInput.translate(-100, 100).rotateZ(180).opacity(1).step();
 this.setData({
 animationPlus: animationPlus.export(),
 animationcollect: animationcollect.export(),
 animationTranspond: animationTranspond.export(),
 animationInput: animationInput.export(),
 })
}
//收回动画
function takeback() {
 //plus逆时针旋转
 var animationPlus = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 var animationcollect = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 var animationTranspond = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 var animationInput = wx.createAnimation({
 duration: 500,
 timingFunction: 'ease-out'
 })
 animationPlus.rotateZ(0).step();
 animationcollect.translate(0, 0).rotateZ(0).opacity(0).step();
 animationTranspond.translate(0, 0).rotateZ(0).opacity(0).step();
 animationInput.translate(0, 0).rotateZ(0).opacity(0).step();
 this.setData({
 animationPlus: animationPlus.export(),
 animationcollect: animationcollect.export(),
 animationTranspond: animationTranspond.export(),
 animationInput: animationInput.export(),
 })
}

2.index.wxml

<!--index.wxml-->
<image src="../../images/collect.png" animation="{{animationcollect}}" class="image-style" bindtap="collect"></image>
<image src="../../images/transpond.png" animation="{{animationTranspond}}" class="image-style" bindtap="transpond"></image>
<image src="../../images/input.png" animation="{{animationInput}}" class="image-style" bindtap="input"></image>
<image src="../../images/plus.png" animation="{{animationPlus}}" class="image-plus-style" bindtap="plus"></image>

3.index.wxss

/**index.wxss**/

.image-style {
 height: 150rpx;
 width: 150rpx;
 position: absolute;
 bottom: 250rpx;
 right: 100rpx;
 opacity: 0;
}

.image-plus-style {
 height: 150rpx;
 width: 150rpx;
 position: absolute;
 bottom: 250rpx;
 right: 100rpx;
 z-index: 100;
}

demo代码下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
Feb 17 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
Sep 11 Javascript
jQuery实现可收缩展开的级联菜单实例代码
Nov 27 Javascript
javascript html5 canvas实现可拖动省份的中国地图
Mar 11 Javascript
浅析Javascript的自动分号插入(ASI)机制
Sep 29 Javascript
深入理解Angularjs中的$resource服务
Dec 31 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
Jan 17 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 Javascript
详解webpack 多入口配置
Jun 16 Javascript
JavaScript变速动画函数封装添加任意多个属性
Apr 03 Javascript
JavaScript实现文件下载并重命名代码实例
Dec 12 Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 #Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 #Javascript
微信小程序实现折叠展开效果
Jul 19 #Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 #Javascript
微信小程序实现天气预报功能
Jul 18 #Javascript
vue代理和跨域问题的解决
Jul 18 #Javascript
小程序自定义组件实现城市选择功能
Jul 18 #Javascript
You might like
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
PHP实现简单登录界面
2019/10/23 PHP
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
python实现员工管理系统
2018/01/11 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
django rest framework serializers序列化实例
2020/05/13 Python
python如何使用代码运行助手
2020/07/03 Python
html5 标签
2009/07/16 HTML / CSS
给排水工程师岗位职责
2013/11/21 职场文书
配件采购员岗位职责
2013/12/03 职场文书
房地产还款计划书
2014/01/10 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
劳资协议书范本
2014/04/23 职场文书
公务员考察材料范文
2014/12/23 职场文书
党员年终个人总结
2015/02/14 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
安全教育的主题班会
2015/08/13 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python