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


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 相关文章推荐
取键盘键位ASCII码的网页
Jul 30 Javascript
Array.prototype.slice 使用扩展
Jun 09 Javascript
用dtree实现树形菜单 dtree使用说明
Oct 17 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
May 23 Javascript
js字符串截取函数substr substring slice使用对比
Nov 27 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
Aug 12 Javascript
node-http-proxy修改响应结果实例代码
Jun 06 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
javascript触发模拟鼠标点击事件
Jun 26 Javascript
vue实现选中效果
Oct 07 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操作JSON格式数据的实现代码
2011/12/24 PHP
PHP静态文件生成类实例
2014/11/29 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
为什么相对PHP黑python的更少
2020/06/21 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
办公室打字员岗位职责
2014/04/16 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
终止劳动合同通知书
2015/04/16 职场文书
Redis基本数据类型Set常用操作命令
2022/06/01 Redis