php微信小程序向下滑动,实现微信小程序下拉菜单(带动画)的方法实例

本文详细介绍了如何在微信小程序中使用WXML实现一个具有筛选功能的下拉菜单,包括pick-header的设置、pick-container的内容组织以及content区域的动态高度调整。通过嵌套scroll-view实现内容滚动,适合移动端布局。
摘要由CSDN通过智能技术生成

可以直接拷贝就用,这只是一个壳,可以往里面填充自己的内容

在pick-header里添加筛选项,在pick-container添加被筛选的选项内容,content里显示真正的内容。

content的高度是会在js里根据当前手机分辨率所动态计算的,高度值为contentHeight,所以在里面可以嵌套一个scroll-view,设置高度为contentHeight即可实现内容滑动。

好了,废话不多说,直接看图附代码。

9a5ae8b75aaf201012824ed79b9cfdb7.gif

下拉菜单示例.gif

wxml

筛选pick-header view z-index:60

筛选项 pick-container view z-index:50

我是半透明阴影遮罩 view shadow z-index:40

我是内容content view z-index:20

wxss/*根布局*/

.content-container {

width: 100%;

position: absolute;

}

/*筛选头部*/

.pick-header {

width: 100%;

height: 72rpx;

z-index: 60;

position: fixed;

background-color: lightcoral;

}

/*筛选项容器布局*/

.pick-container {

width: 100%;

height: 300rpx;

background-color: lightgoldenrodyellow;

position: absolute;

z-index: 50;

top: -228rpx;

}

/*筛选项隐藏 显示动画 start*/

@keyframes slidown {

from {

transform: translateY(0%);

}

to {

transform: translateY(100%);

}

}

.slidown {

display: block;

animation: slidown 0.1s ease-in both;

}

@keyframes slidup {

from {

transform: translateY(100%);

}

to {

transform: translateY(0%);

}

}

.slidup {

display: block;

animation: slidup 0.2s ease-in both;

}

/*筛选项隐藏 显示动画 end*/

/*筛选项显示出来的时候的阴影*/

.shadow {

width: 100%;

background-color: rgba(1, 1, 1, 0.2);

position: absolute;

z-index: 40;

top: 72rpx;

}

/*内容容器布局*/

.content {

width: 100%;

position: absolute;

top: 72rpx;

z-index: 20;

}

jsPage({

data: {

openPicker: false,

needAnimation : false,

contentHeight: 0

},

onLoad: function () {

},

onReady: function () {

var that = this;

wx.getSystemInfo({

success: function (res) {

that.setData({

//动态根据手机分辨率来计算内容的高度(屏幕总高度-顶部筛选栏的高度)

contentHeight: (res.windowHeight - 72 * res.screenWidth / 750)

});

}

})

},

onPickHeaderClick: function () {

this.setData({

openPicker: !this.data.openPicker,

needAnimation : true

})

},

})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值