本文实例讲述了微信小程序MUI侧滑导航菜单。分享给大家供大家参考,具体如下:
实现的目标MUI的off canvas效果
点击列表 —- 右侧展示页面不动,左侧导航滑动 —- 点击右侧遮罩层或者左侧选项 —- 左侧还原,右侧去掉遮罩层
实现方案2:左右分上下两层,左侧滑动,右侧不动
WXML
<view class="page"> <view class="page-top {{open "> <view class="nav-list" wx:for-items="{{nav_list}}" bindtap="open_list" data-title="{{item}}"> <text>{{item}}</text> </view> </view> <view class="page-bottom"> <image class="off-nav-list" bindtap="off_canvas" src="/UploadFiles/2021-04-02/btn.png">WXSS
page,.page { height: 100%; font-family: 'PingFang SC', 'Helvetica Neue', Helvetica, 'Droid Sans Fallback', 'Microsoft Yahei', sans-serif; } /*左侧导航 */ .page-top{ position: fixed; width: 75%; height: 100%; top: 0; left: 0; background-color: rgb(0, 68, 97); transform: rotate(0deg) scale(1) translate(-100%,0%); -webkit-transform: rotate(0deg) scale(1) translate(-100%,0%); transition: all 0.4s ease; z-index: 998; } .page-top-show{ transform: rotate(0deg) scale(1) translate(0%,0%); -webkit-transform: rotate(0deg) scale(1) translate(0%,0%); } .nav-list{ padding: 30rpx 0 30rpx 40rpx; color:#fff; } /*右侧展示 */ .page-bottom{ height: 100%; background-color: rgb(57, 125, 230); position: relative; } .off-nav-list{ position: fixed; width: 60rpx; height: 50rpx; top: 20rpx; left:20rpx; } .page-bottom-content{ padding:100rpx 20rpx 30rpx; color: #fff; } .page-mask{ width: 100%; height: 100%; background-color:rgba(0,0,0,0.5); position: absolute; top: 0; left: 0; z-index: 10; } .page-mask-hide{ display: none; }JS
var app = getApp(); var data = require('../../utils/data.js'); Page({ /** * 页面的初始数据 */ data: { text: 'ES6学习之路', nav_list: ['ES6学习之路', 'CSS特效', 'VUE实战','微信小程序'], open: false }, //列表的操作函数 open_list: function(opts){ this.setData({ text: opts.currentTarget.dataset.title,open: false}); }, //左侧导航的开关函数 off_canvas: function(){ this.data.open "font-size: medium">总结:1. 代码简化:off_canvas函数简化代码,采用三目表达式,简单切清晰;
2. 渲染:注意对data对象中属性进行赋值时,要采用
this.setData()
方法,否则属性改变不会重新渲染(eg:this.data.text = opts.currentTarget.dataset.title;
)这样text的值改变,页面不会重新渲染text;3. 代码简化:
this.data.open ? this.setData({open: false}) :this.setData({open: true});
简化为this.setData({ open: this.data.open ? false : true});
希望本文所述对大家微信小程序开发有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无争山庄资源网 Copyright www.whwtcm.com
暂无“微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)”评论...
更新日志
2024年11月13日
2024年11月13日
- 刘欢《雨中的树(新歌加精选)2CD》德国HD24K金碟[WAV+CUE]
- 郑源 《世间情歌》6N纯银SQCD[WAV+CUE][1G]
- 群星《粤潮2HQII》头版限量编号[低速原抓WAV+CUE][991M]
- 群星《2023好听新歌21》十倍音质 U盘音乐[WAV分轨][1G]
- 《热血传奇》双11感恩回馈 超值狂欢30天
- 原神5.2版本活动汇总 5.2版本活动有哪些
- 张敬轩.2010-NO.ELEVEN【环球】【WAV+CUE】
- 黄丽玲.2006-失恋无罪【艾回】【WAV+CUE】
- 阿达娃.2024-Laluna【W8VES】【FLAC分轨】
- 宝可梦大集结段位等级划分表大全 大集结段位一览
- 龙腾世纪影障守护者工坊与装备如何升级 工坊与装备升级说明
- 龙腾世纪影障守护者全成就攻略分享 龙腾世纪4全成就列表一览
- 《剑星》更新四套全新战衣!
- 卡普空老将伊津野英昭宣布入职腾讯光子 开发3A动作
- 38岁梅根·福克斯官宣怀孕:将迎来第四个孩子