小程序顶部导航栏,可滑动,可动态选中放大

简介: 小程序顶部导航栏,可滑动,可动态选中放大

老规矩,先看效果图


可以看到我们实现了如下功能


  • 1,顶部导航栏
  • 2,可以左右滑动的导航栏
  • 3,选中条目放大

原理其实很简单,我这里把我研究后的源码发给大家吧。


wxml文件如下


<!-- 导航栏 -->
<scroll-view scroll-x class="navbar" scroll-with-animation scroll-left="{{scrollLeft}}rpx">
  <view class="nav-item" wx:for="{{tabs}}" wx:key="id" bindtap="tabSelect" data-id="{{index}}">
    <view class="nav-text {{index==tabCur?'tab-on':''}}">{{item.name}}</view>
  </view>
</scroll-view>


wxss文件如下


/* 导航栏布局相关 */
.navbar {
  width: 100%;
   height: 90rpx;
  /* 文本不换行 */
  white-space: nowrap;
  display: flex;
  box-sizing: border-box;
  border-bottom: 1rpx solid #eee;
  background: #fff;
  align-items: center;
  /* 固定在顶部 */
  position: fixed;
  left: 0rpx;
  top: 0rpx;
}
.nav-item {
  padding-left: 25rpx;
  padding-right: 25rpx;
  height: 100%;
  display: inline-block;
  /* 普通文字大小 */
  font-size: 28rpx;
}
.nav-text {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 4rpx;
  box-sizing: border-box;
}
.tab-on {
  color: #fbbd08;
  /* 选中放大 */
  font-size: 38rpx !important;
  font-weight: 600;
  border-bottom: 4rpx solid #fbbd08 !important;
}


js文件如下


// pages/test2/test2.js
Page({
  data: {
    tabCur: 0, //默认选中
    tabs: [{
        name: '等待支付',
        id: 0
      },
      {
        name: '待发货',
        id: 1
      },
      {
        name: '待收货',
        id: 2
      },
      {
        name: '待签字',
        id: 3
      },
      {
        name: '待评价',
        id: 4
      },
      {
        name: '五星好评',
        id: 5
      },
      {
        name: '差评订单',
        id: 6
      },
      {
        name: '编程小石头',
        id: 8
      },
      {
        name: '小石头',
        id: 9
      }
    ]
  },
  //选择条目
  tabSelect(e) {
    this.setData({
      tabCur: e.currentTarget.dataset.id,
      scrollLeft: (e.currentTarget.dataset.id - 2) * 200
    })
  }
})

代码里注释很明白了,大家自己跟着多敲几遍就可以了。后面会更新更多小程序相关的知识,请持续关注。

相关文章
|
6月前
|
移动开发 小程序
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
|
6月前
|
移动开发 小程序 前端开发
uniapp开发小程序H5页面顶部导航栏navigationBar如何隐藏?三种解决办法
uniapp开发小程序H5页面顶部导航栏navigationBar如何隐藏?三种解决办法
|
6月前
|
小程序
小程序页面顶部标题栏、导航栏navigationBar如何隐藏、变透明?
小程序页面顶部标题栏、导航栏navigationBar如何隐藏、变透明?
|
4月前
|
小程序 数据库
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
139 0
|
4月前
|
小程序
微信小程序—页面滑动,获取可视区域数据
微信小程序—页面滑动,获取可视区域数据
64 2
|
4月前
|
小程序
uniapp如何隐藏默认的页面头部导航栏,uniapp开发小程序如何隐藏默认的页面头部导航栏
uniapp如何隐藏默认的页面头部导航栏,uniapp开发小程序如何隐藏默认的页面头部导航栏
562 0
|
5月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的宝鸡文理学院学生成绩动态追踪系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的宝鸡文理学院学生成绩动态追踪系统附带文章和源代码部署视频讲解等
40 0
|
6月前
|
小程序 程序员
【uniapp微信小程序】自定义导航栏:非首页展示的实现方式(极为快捷方式)
【uniapp微信小程序】自定义导航栏:非首页展示的实现方式(极为快捷方式)
166 0
|
6月前
|
小程序
【微信小程序】-- 全局配置 -- window - 导航栏(十五)
【微信小程序】-- 全局配置 -- window - 导航栏(十五)
|
6月前
|
小程序 网络安全 API
mpaas小程序问题之原生导航栏返回拦截如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
123 0

热门文章

最新文章