微信小程序实现弹出菜单


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 相关文章推荐
通过jquery还原含有rowspan、colspan的table的实现方法
Feb 10 Javascript
php中给js数组赋值方法
Mar 10 Javascript
js使用DOM操作实现简单留言板的方法
Apr 10 Javascript
JQuery实现鼠标滚轮滑动到页面节点
Jul 28 Javascript
浅谈jquery点击label触发2次的问题
Jun 12 Javascript
jQuery简单自定义图片轮播插件及用法示例
Nov 21 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
Dec 25 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
May 24 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
微信小程序与后台PHP交互的方法实例分析
Dec 10 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 Javascript
vue项目实现分页效果
Mar 24 Vue.js
微信小程序实现之手势锁功能实例代码
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
支持oicq头像的留言簿(二)
2006/10/09 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
php实现可逆加密的方法
2015/08/11 PHP
php实现的递归提成方案实例
2015/11/14 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
JavaScript 动态创建VML的方法
2009/10/14 Javascript
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
初探nodeJS
2017/01/24 NodeJs
写jQuery插件时的注意点
2017/02/20 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
js实现中文实时时钟
2020/01/15 Javascript
python 获取网页编码方式实现代码
2017/03/11 Python
理解python中生成器用法
2017/12/20 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
python3 拼接字符串的7种方法
2018/09/12 Python
python代码打印100-999之间的回文数示例
2019/11/24 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
详解KMP算法以及python如何实现
2020/09/18 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
什么是数据抽象
2016/11/26 面试题
大学生个人推荐信范文
2013/11/25 职场文书
公司股权转让协议书
2014/04/12 职场文书
项目负责人任命书
2014/06/04 职场文书
商场父亲节活动方案
2014/08/27 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏