微信小程序顶部导航栏可滑动并选中放大


Posted in Javascript onDecember 05, 2019

这篇文章主要介绍了微信小程序顶部导航栏可滑动并选中放大,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

老规矩,先看效果图

微信小程序顶部导航栏可滑动并选中放大

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

  • 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
  })
 }
})

代码里注释很明白了,大家自己跟着多敲几遍就可以了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
Apr 06 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
Mar 31 Javascript
包含中国城市的javascript对象实例
Aug 03 Javascript
JS实现仿QQ效果的三级竖向菜单
Sep 25 Javascript
Vue.js实现移动端短信验证码功能
Mar 29 Javascript
node.js 模块和其下载资源的镜像设置的方法
Sep 06 Javascript
Vue.js中对css的操作(修改)具体方式详解
Oct 30 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
微信小程序换肤功能实现代码(思路详解)
Aug 25 Javascript
微信小程序实现点击按钮后修改颜色
Dec 05 #Javascript
React 父子组件通信的实现方法
Dec 05 #Javascript
Javascript中的this,bind和that使用实例
Dec 05 #Javascript
原生JS与CSS实现软件卸载对话框功能
Dec 05 #Javascript
Vue快速实现通用表单验证功能
Dec 05 #Javascript
Vue组件通信中非父子组件传值知识点总结
Dec 05 #Javascript
基于javascript实现贪吃蛇经典小游戏
Apr 10 #Javascript
You might like
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
php流量统计功能的实现代码
2012/09/29 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
繁简字转换功能
2006/07/19 Javascript
js玩一玩WSH吧
2007/02/23 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
javascript实用方法总结
2015/02/06 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
2013年高中生自我评价
2013/10/23 职场文书
绩效专员岗位职责
2013/12/02 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
安全生产汇报材料
2014/02/17 职场文书
日化店促销方案
2014/03/26 职场文书
企业诚信承诺书
2014/05/23 职场文书
廉洁校园实施方案
2014/05/25 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers