小程序实现多折叠睁开菜单非经常见,,,,想实现也很是简朴,,,,下面为各人介绍怎样实现的方式
小程序实现多折叠睁开菜单效果展示:

最先正题
上方Nav
基本 flex 结构再加个 padding 不需要多讲吧?
提一下,,,,微信小程序里input的placeholder样式是写在 placeholder-style 里或使用 placeholder-class
下方菜单

每个小卡片遵从 flex 结构,,,,设置 width: 50% ,,,,别忘了 flex-wrap: wrap
每个小卡片内部同为 flex 结构并设置笔直居中,,,,想了想照旧科普下:
.main-view-item{
display: flex;
justify-content: center;
align-items: center;
width: 50%;
}
动画
微信小程序的动画只能用JS,,,,通例手段不可用,,,,来个头脑风暴hack起来
视察每个卡片的折叠偏向后,,,,为每个卡片添加初始 rotate 使其反向折叠,,,,我在这里界说了两个Class
.rotateX90{
transform: rotateX(-90deg);
}
.rotateY90{
transform: rotateY(-90deg);
}
好了这样就看不到卡片了,,,,然后给菜单按钮添加点击事务改变卡片的rotate就Ojbk啦
var duration = 150
var item1 = wx.createAnimation({
duration: duration,
transformOrigin: '0 0 0'
})
item1.rotateX(90).step()
this.setData({
item1: item1,
item1Style: 'item1Style'
})
这里注重调解 transformOrigin 来控制折叠偏向,,,,关于后面的卡片在 createAnimation 中添加 delay 字段即可(差为 duration 的等差数列)
是不是很简朴嗯?
至于菜单的收回,,,,代码和睁开差未几,,,,就是反过来罢了,,,,不过有些睁开的顺序和 transformOrigin 需要注重,,,,这里照旧贴一个代码吧:
var duration = 150
var item3 = wx.createAnimation({
duration: duration,
transformOrigin: '100% 100% 0',
delay: duration * 2
})
item1.rotateX(90).step()
this.setData({
item3: item3,
item3Style: ''
})
另外我在 data 里设置了两个变量 isShow 和 isShowing 来判断菜单是否睁开或者正在睁开,,,,来控制点击事务,,,,详细实现这里就不讲了
小程序工具提供多类型商城/门店小程序制作,,,,可视化编辑 1秒天生5步上线。。。通过拖拽、拼接?????榻峁剐〕绦蛏坛且趁,,,,所看即所得,,,,只需要美工就能做出细腻商城。。。
KESION pp电子软件
KESION pp电子软件是海内领先的在线教育软件及私域社交电商软件服务提供商,,,,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。。KESION 一直通过手艺立异,,,,提供产品和服务,,,,助力企业向数字化转型,,,,通过科技驱动商业刷新,,,,让商业变得更智慧!
大多app都有接待界面,,,,那么小程序开发是否也可以设计一个登录接待界面,,,,下面为各人介绍小程序登录界面样式开发实例...
开发一个微信小程序首先你要明确它的需求,,,,也就是它的功效需求,,,,是用来做什么的,,,,用来实现什么功效,,,,这是十分主要的。。。...