微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧
网络编程 2021-07-04 15:50www.168986.cn编程入门
这篇文章主要介绍了微信小程序MUI侧滑导航菜单,结合实例形式分析了微信小程序Popup弹出式,左侧滑动,右侧不动菜单功能相关实现技巧与注意事项,需要的朋友可以参考下
本文实例讲述了微信小程序MUI侧滑导航菜单。分享给大家供大家参考,具体如下
实现的目标MUI的off canvas效果
点击列表 —- 右侧展示页面不动,左侧导航滑动 —- 点击右侧遮罩层或者左侧选项 —- 左侧还原,右侧去掉遮罩层
实现方案2左右分上下两层,左侧滑动,右侧不动
WXML
<view class="page"> <view class="page- {{open ? 'page--show' : ''}}"> <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="../../images/btn.png"></image> <view class="page-bottom-content"> <text>{{text}}</text> </view> <view class="page-mask {{open ? '' : 'page-mask-hide'}}" bindtap="off_canvas"></view> </view> </view>
WXSS
page,.page { height: 100%; font-family: 'PingFang SC', 'Helvetica Neue', Helvetica, 'Droid Sans Fallback', 'Microsoft Yahei', sans-serif; } /左侧导航 / .page-{ position: fixed; width: 75%; height: 100%; : 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--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; : 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; : 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 ? this.setData({open: false}) :this.setData({open: true}); } })
1. 代码简化off_canvas函数简化代码,采用三目表达式,简单切清晰;
2. 渲染注意对data对象中属性进行赋值时,要采用this.setData()
方法,否则属性改变不会重新渲染(egthis.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});
希望本文所述对大家微信小程序开发有所帮助。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南