本文實(shí)例為大家分享了微信小程序實(shí)現(xiàn)彈出菜單的具體代碼,供大家參考,具體內(nèi)容如下
菜單
代碼:
1.index.js
//index.js//獲取應(yīng)用實(shí)例var app = getApp()Page({ data: { isPopping: false,//是否已經(jīng)彈出 animationPlus: {},//旋轉(zhuǎn)動(dòng)畫(huà) animationcollect: {},//item位移,透明度 animationTranspond: {},//item位移,透明度 animationInput: {},//item位移,透明度 //我的博客:http://blog.csdn.net/qq_31383345 //CSDN微信小程序開(kāi)發(fā)專欄:http://blog.csdn.net/column/details/13721.html }, onLoad: function () { }, //點(diǎn)擊彈出 plus: function () { if (this.data.isPopping) { //縮回動(dòng)畫(huà) popp.call(this); this.setData({ isPopping: false }) } else { //彈出動(dòng)畫(huà) takeback.call(this); this.setData({ isPopping: true }) } }, input: function () { console.log("input") }, transpond: function () { console.log("transpond") }, collect: function () { console.log("collect") }})//彈出動(dòng)畫(huà)function popp() { //plus順時(shí)針旋轉(zhuǎn) 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(), })}//收回動(dòng)畫(huà)function takeback() { //plus逆時(shí)針旋轉(zhuǎn) 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代碼下載
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選