小程序点击侧滑导航栏

侧滑组件代码:

<view class='dpfC {{slideNav ? "selectItems-content-show":"selectItems-content-hide"}}' catchtouchmove='ture'>
    <view class="userInfo" wx:if='{{slideNav}}'>
        <view class="userPic marginTop">
            <!-- <image src='../../images/user_icon.png'></image> -->
        </view>
        <view class="marginTop">185*****112</view>
        <view class="marginTop fontSize-26">白金会员</view>
        <navigator hover-class='none' wx:for='{{list}}' wx:key='key' url='{{item.path}}'>
            <view class="mayCenterList dpf padding20 {{index == 0 ? 'marginTop':''}}">
                <image class="listicon marginRight" src='{{item.icon}}'></image>
                <view>{{item.name}}</view>
            </view>
        </navigator>
    </view>
    <view wx:if='{{slideNav}}' class="bottomContent dpfC">
        <view class="recommend dpf">
            <view class="dpfC">
               <image src='../../images/user_icon.png'></image>
                推荐有奖
            </view>
           <view class="dpfC">
               <image src='../../images/user_icon.png'></image>
                推荐有奖
            </view>
         <view class="dpfC">
               <image src='../../images/user_icon.png'></image>
                推荐有奖
            </view>
        </view>
        <view class="clause">
            法律条款与平台规则 <image src="../../images/right2_icon.png"></image>
        </view>
    </view>
</view>

Component({
    /**
     * 组件的属性列表
     */
    properties: {
        slideNav: { //导航 
            type: Boolean,
        },
    },

    /**
     * 组件的初始数据
     */
    data: {
        slideNav: false,
    },

    /**
     * 组件的方法列表
     */
    methods: {
        //关闭
        hideslideNav() {
            let that = this;
            that.setData({
                slideNav: !that.data.slideNav,
            })
            that.triggerEvent("hideslideNav", data);
        },
        //显示
        showslideNav() {
            let that = this;
            that.setData({
                slideNav: true,
            })
            that.triggerEvent("showslideNav", data);
        },
    }
})

 


.selectItems-content-hide{
    width: 500rpx;
    height: 100vh;
    background: #ffffff;
    position: fixed;
    bottom: 0;
    left: -500rpx;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: myfirst2 0.5s;
}
.selectItems-content-show{
    width: 500rpx;
    height: 100vh;
    background: #ffffff;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: myfirst 0.5s;
}
@keyframes myfirst {
    0% {
        background: #ffffff;
        left: -500rpx;
    }

    100% {
         background: #ffffff;
        left: 0;
    }
}
@keyframes myfirst2 {
    0% {
        background: #ffffff;
        left: 0;
    }

    100% {
         background: #ffffff;
        left: -500rpx;
    }
}

 调用组件页面代码

<view class="container">
    <!-- 头部 -->
    <view class="headerBox width100 dpfC padding20">
        <view class="headerBox width90 dpfb">
            <view class="user_nav" bindtap="onshowslideNav">  //点击开始滑动
                <image src="../../images/user_icon.png"></image>
            </view>
            <view class="addres">
                <text class="fontSize-30 color2 marginRight10">北京市</text>
                <image class="donw_icon" src='../../images/donw_icon.png'></image>
            </view>
            <view class="dpf">
                <view class="mssage_icon_box">
                    <image src="../../images/mssage_icon.png"></image>
                </view>
                <view class="scan_box">
                    <image src="../../images/scan_icon.png"></image>
                </view>
            </view>
        </view>
    </view>
</view>
<!-- 侧滑个人中心 -->
<!-- 点击遮罩隐藏 -->
<view class='shade_1' wx:if='{{slideNav}}' catchtap='onhideslideNav' catchtouchmove='ture'></view>
<slideNav id='slideNav' slideNav='{{slideNav}}' bind:showslideNav='onshowslideNav' bind:hideslideNav='onhideslideNav'></slideNav>
const App = getApp()
Page({
    data: {
        slideNav: false, //遮罩
    },
    onshowslideNav() {
        this.setData({
            slideNav: true,
        })
    },
    onhideslideNav() {
        this.setData({
            slideNav: false,
            isShadeShow: false
        })
    },


})

 

喜欢上方小程序,需要源码的,私信小编留下邮箱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端_李嘉豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值