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


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 相关文章推荐
来自国外的14个图片放大编辑的jQuery插件整理
Oct 20 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
Sep 29 Javascript
JavaScript中rem布局在react中的应用
Dec 09 Javascript
javascirpt实现2个iframe之间传值的方法
Jun 30 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
Jan 19 Javascript
javascript 单例模式详解及简单实例
Feb 14 Javascript
React.Js添加与删除onScroll事件的方法详解
Nov 03 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
node使用request请求的方法
Dec 20 Javascript
Vue的全局过滤器和私有过滤器的实现
Apr 20 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
Jun 03 Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 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分页显示制作详细讲解
2008/11/19 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
js日期联动示例
2014/05/02 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
Python中使用PIPE操作Linux管道
2015/02/04 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
django-csrf使用和禁用方式
2020/03/13 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
css3学习心得分享
2013/08/19 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
后勤工作职责
2013/12/22 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
微电影大赛策划方案
2014/06/05 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技