小程序导航滚动到头部后固定 这也是小程序主界面经常会使用的一种效果,那么如何开发实现,下面为大家解答。
前段代码这里是比较重要的
-
-
-
{{navItem.text}}
前段整体布局要使用scroll-view
这里可以监听滑动的距离 然后进行逻辑处理 主要逻辑是判断滑动位置后来处理导航的 class 这个class 就是定位属性
- .positionFixed{
- position: fixed;
- left: 0;
- top: 0;
- }
data配置信息看好
- data: {
- adData: ['http://pic.qiantucdn.com/58pic/17/70/72/02U58PICKVg_1024.jpg', 'http://pic2.ooopic.com/12/09/64/46bOOOPICf5_1024.jpg'],
- navData: [
- {
- text: '首页'
- },
- {
- text: '健康'
- },
- {
- text: '情感'
- },
- {
- text: '职场'
- },
- {
- text: '育儿'
- },
- {
- text: '纠纷'
- },
- {
- text: '青葱'
- },
- {
- text: '上课'
- },
- {
- text: '下课'
- }
- ],
- currentNavTab: 0,
- scrollTop: '', //滑动的距离
- navFixed: false, //导航是否固定
onLoad 方法获取宽高
- wx.getSystemInfo({
- success: (res) => {
- tShopfas.setData({
- pixelRatio: res.pixelRatio,
- windowHeight: res.windowHeight,
- windowWidth: res.windowWidth
- })
- },
- })
js主要事件
- //导航点击
- switchNav(event) {
- var cur = event.currentTarget.dataset.current;
- //每个tab选项宽度占1/5
- var singleNavWidth = tShopfas.data.windowWidth / 5;
- //tab选项居中
- tShopfas.setData({
- navScrollLeft: (cur - 2) * singleNavWidth
- })
- if (tShopfas.data.currentNavTab == cur) {
- return false;
- } else {
- tShopfas.setData({
- currentNavTab: cur
- })
- }
- },
- //监听滑动
- layoutScroll: function (e) {
- tShopfas.data.scrollTop = tShopfas.data.scrollTop * 1 + e.detail.deltaY * 1;
- console.log(tShopfas.data.scrollTop)
- console.log(tShopfas.data.navFixed)
- if (tShopfas.data.scrollTop
- tShopfas.setData({
- navFixed: true
- })
- } else {
- tShopfas.setData({
- navFixed: false
- })
- }
- }
以上代码自己完善后即刻达到效果
Shopfa小程序工具提供多类型商城/门店小程序制作,可视化编辑 1秒生成5步上线。通过拖拽、拼接模块布局小程序商城页面,所看即所得,只需要美工就能做出精美商城。更多小程序商店请查看:小程序商店
第二部分:如何开通一个小商店
<以上资讯仅供参考,如果您需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询加速度产品经理获取方案和报价>
****更多行业产品开发方案,请关注jsudo加速度 https://www.jsudo.com***
【加速度jsudo(www.jsudo.com)】是国内知名企业数字化建设提供商,为企业提供电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售等)、智慧园区建设、数字化营销、人才外包等服务,点击这里查看了解更多行业解决方案。