DDR爱好者之家 Design By 杰米
前言
一直想给项目中的小程序设置侧滑栏,将退出按钮放到侧滑中,但是小程序没有提供相应的控件和API,因此只能自己手动实现,网上很多大神造的轮子很不错,本文就在是站在巨人的肩膀上实现。
hexo图片不显示问题,可前往简书
效果
先看看效果,我的侧滑栏需要列出如下信息:
初始状态下,左下角设置悬空按钮
点击悬空按钮,侧边栏拉出,悬空按钮旋转180度
主页内容向右滑动一定比例,并设置阴影遮罩
实现
首先将xml文件分为三部分,一部分是主页内容,一部分是侧滑栏内容,一部分是悬浮按钮。
<!--index.wxml--> <view> <!-- 侧边滑动菜单 --> <view class="page-slidebar"> <view class="page-content"> <view class="userinfo"> <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 点击获取头像昵称 </button> <block wx:else> <image bindtap="bindViewTap" class="userinfo-avatar" src="/UploadFiles/2021-04-02/{{userInfo.avatarUrl}}">wxss文件,样式文件中,主要是.c-state,.c-button-open,.cover三个样式。
/**index.wxss**/ .userinfo { display: flex; flex-direction: column; align-items: center; } .userinfo-avatar { width: 128rpx; height: 128rpx; margin: 20rpx; border-radius: 50%; } .userinfo-nickname { color: #aaa; } .account-info { margin-top: 50rpx; } .account-info-item { display: flex; align-items: center; height: 54px; margin-left: 10rpx; border-bottom: 1px solid #eee; } /* 侧边栏样式 */ .page-slidebar { height: 100%; width: 65%; position: fixed; background-color:white; z-index: 0; } /* 主页样式 */ .page-top { height: 100%; position: fixed; width: 100%; background-color:white; z-index: 0; transition: All 0.4s ease; -webkit-transition: All 0.4s ease; } /* 控制侧边栏的内容距离顶部的距离 */ .page-content { padding-top: 60rpx; } /* 当屏幕向左滑动,出现侧边栏的时候,主页的动画样式 */ /* scale:取值范围 0~1 ,表示屏幕大小是原来的百分之几,可以自己修改成 0.8 试下*/ /* translate(60%,0%) 表示向左滑动的时候,侧边栏占用平时的宽度为 60% */ .c-state { transform: rotate(0deg) scale(1) translate(65%, 0%); -webkit-transform: rotate(0deg) scale(1) translate(65%, 0%); } .floatbutton { position: fixed; width: 100rpx; height: 100rpx; bottom: 140rpx; left: 40rpx; z-index: 9999; } .c-button-open { transform: rotate(180deg) scale(1) translate(65%, 0%); -webkit-transform: rotate(180deg) scale(1) translate(65%, 0%); transition-duration:0.5s; -webkit-transition-duration: 0.5s; left: 60%; } /* 遮盖层样式 */ .cover{ width: 100%; height: 100%; background-color:gray; opacity: 0.5; z-index: 9000; } .quit-view { height: 5%; width: 65%; } .quit-btn { position: fixed; bottom: 5rpx; z-index: 999; color: #fff; width: 65%; border-radius: 5rpx; background-color: #064acb; }js文件,这里不涉及我demo中申请用户信息内容。
// 点击左下角小图标事件 openSlider: function (e) { if (this.data.open) { this.setData({ open: false }); } else { this.setData({ open: true }); } }, tap_start: function (e) { // touchstart事件 // 把手指触摸屏幕的那一个点的 x 轴坐标赋值给 mark 和 newmark this.data.mark = this.data.newmark = e.touches[0].pageX; }, tap_drag: function (e) { // touchmove事件 this.data.newmark = e.touches[0].pageX; // 手指从左向右移动 if (this.data.mark < this.data.newmark) { this.istoright = true; } // 手指从右向左移动 if (this.data.mark > this.data.newmark) { this.istoright = false; } this.data.mark = this.data.newmark; }, tap_end: function (e) { // touchend事件 this.data.mark = 0; this.data.newmark = 0; // 通过改变 opne 的值,让主页加上滑动的样式 if (this.istoright) { this.setData({ open: true }); } else { this.setData({ open: false }); } }参考资料
微信小程序之侧边栏滑动实现(附完整源码)
微信小程序侧边栏滑动特效(左右滑动)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年05月02日
2024年05月02日
- [7504]ReferenceSoundEdition-GreatGuitarTunes(2013)[GermanyHQCD]
- 刘嘉佳《往日时光HQ》头版限量[低速原抓WAV+CUE]
- 单依纯《纯情歌》开盘母带[低速原抓WAV+CUE]
- 杨乐婷《遥望HQ》头版限量编号[低速原抓WAV+CUE]
- 蔡琴《三十周年纪念版》6N纯银镀膜[正版CD低速原抓WAV+CUE][519M]
- 张学友《昨夜梦魂中》[FLAC][453M]
- 群星《17号音乐仓库2 第9期》[320K/MP3][150.23MB]
- 汤兰花.2000-一代佳人(环球唱片金曲系列风华再现)【WAV+CUE】
- 罗美玲.2005-生日领悟(EP)【华研国际】【WAV+CUE】
- 李佳薇《相反的是》WAV
- 试音碟《金指妙弹电子琴演奏》5CD[WAV]
- 【新世纪电子】Авирадж2023-ИллюзияОбмана(FLAC)
- 陈婧霏.2024-春色(EP)【有此山文化】【FLAC分轨】
- 郭富城.2000-无忌VS未来(EP)【华纳】【WAV+CUE】
- 群星.2003-追忆林振强3CD【华纳】【WAV+CUE】