微信小程序中实现弹出菜单脚本方法

  • 更新时间:2020-05-25 14:30:05
  • 编辑:松冰旋

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

菜单

微信小程序实现弹出菜单

代码:

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代码下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

相关教程

  • 微信小程序如何实现即时通信聊天功能

    这篇文章主要介绍了微信小程序实现即时通信聊天功能的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    发布时间:2020-01-15

  • 微信小程序获取自己所处位置的经纬度坐标的详细代码

    这篇文章主要介绍了微信小程序实现获取自己所处位置的经纬度坐标功能,涉及微信小程序地图功能获取经纬度信息的相关操作技巧,需要的朋友可以参考下

    发布时间:2020-01-03

  • 汇总运用taro开发微信小程序遇到的坑

    Taro,京东凹凸实验室出品的适配多端的一个框架,这篇文章主要介绍了使用taro开发微信小程序遇到的坑总结,需要的朋友可以参考下

    发布时间:2020-01-16

  • 实例详解微信小程序实现点击按钮移动view标签的位置功能【附demo源码下载】

    这篇文章主要介绍了微信小程序实现点击按钮移动view标签的位置功能,涉及微信小程序事件绑定与this.setData动态修改data数值进而改变view标签样式的相关操作技巧,需要的朋友可以参考下

    发布时间:2020-01-22

  • 微信小程序获取用户绑定手机号代码分享

    这篇文章主要给大家介绍了关于微信小程序如何获取用户绑定手机号的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用微信小程序具有一定的参考学习价值,需要的朋友们下

    发布时间:2020-02-21

  • 微信小程序修改swiper默认指示器样式示例效果

    这篇文章主要介绍了微信小程序修改swiper默认指示器样式的实例代码,代码块是从微信开发文档中心复制的代码块,在此基础上修改官方swiper样式,需要的朋友可以参考下

    发布时间:2020-02-10

  • 小程序 巧应用:微信小程序开发实战

    小程序 巧应用:微信小程序开发实战

    《小程序,巧应用:微信小程序开发实战》 系统全面地讲解微信小程序的开发技术。开篇创建一个小程序项目并解析体验,介绍如何由零开始创建一个小程序,全面体验小程序的开发工具、界

    大小:79.9 MB小程序电子书

  • 微信开发深度解析:微信公众号、小程序高效开发秘籍

    微信开发深度解析:微信公众号、小程序高效开发秘籍

    《微信开发深度解析:微信公众号、小程序高效开发秘籍》 以深度剖析Senparc.Weixin SDK框架的设计思想和使用方法为主干,全面介绍了开发微信公众号(包含了订阅号、服务号和小程序)所需的

    大小:296.8 MB微信开发

  • 微信小程序实战入门

    微信小程序实战入门

    大小:32.7 MB微信开发电子书

  • 微信小程序开发图解案例教程

    微信小程序开发图解案例教程

    《微信小程序开发图解案例教程》 分两篇,介绍了微信小程序设计的基本知识和实战案例。为微信小程序快速入门,包括认识微信小程序、微信小程序框架分析、用微信小程序组件构建UI界面

    大小:39.3 MB小程序电子书

  • 从零开始学微信小程序开发

    从零开始学微信小程序开发

    《从零开始学微信小程序开发》 共分3篇12章,第1篇介绍微信小程序的基础知识,包括微信小程序开发工具、微信小程序架构分析;第2篇介绍微信小程序的常用模块,通过一些小案例详细介绍

    大小:50.1 MB微信开发电子书

  • 微信小程序开发零基础入门

    微信小程序开发零基础入门

    ★从易到难、由浅入深,更轻轻松松地把握小程序开发设计的各种各样专业知识。 ★普遍涉及到、重中之重凸出,更全方位系统化学习培训小程序定制开发的各种各样方式 。 ★基础理论相结

    大小:273.6 MB小程序开发电子书

  • 微信小程序开发入门:从0到1实现天气小程序

    微信小程序开发入门:从0到1实现天气小程序

    微信小程序已经火了一段时间了,之前一直也在关注,就这半年的发展来看,相对原生APP大部分公司还是不愿意将主营业务放到微信平台上,以免受制于腾讯,不过就小程序的应用场景(用完即走和二维码分发等)还是很值得我们学习的,技术上面如果了解React的话,会发现他们在组件化上面有很多雷同之处。说白了,小程序就是基于微信平台的H5轻应用,微信将系统底层功能(设备、位置、媒体、文件等)和微信自身功能(登录、支付、分享等)封装成

    大小:6.37 MB小程序开发

  • 知晓程序:微信小程序入门指南

    知晓程序:微信小程序入门指南

    本教程是一本分析小程序生态、解读小程序产品设计与开发的入门图书。全书共7章,全面讲解了小程序的基本知识、小程序将给我们带来什么改变、小程序上手案例、如何转行小程序开发、电

    大小:6.9 MB小程序开发电子书

  • 应用生态:教你打造微信小程序爆款

    应用生态:教你打造微信小程序爆款

    大小:36.6 MB小程序电子书

  • 微信小程序开发入门精要

    微信小程序开发入门精要

    本书系统全面、循序渐进地介绍了进行微信小程序开发的各方面知识、经验和技巧。微信小程序开发入门精要 内容包含目前微信小程序支持的所有组件和API的详细介绍,以及使用方法演示,并

    大小:147 MB微信开发电子书

用户留言