微信小程序顶部导航栏可滑动并选中放大
作者:编程小石头 发布时间:2023-08-23 18:49:59
标签:微信,小程序,顶部,导航栏,滑动,放大
这篇文章主要介绍了微信小程序顶部导航栏可滑动并选中放大,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
老规矩,先看效果图
可以看到我们实现了如下功能
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
})
}
})
代码里注释很明白了,大家自己跟着多敲几遍就可以了。
来源:https://www.jianshu.com/p/8f67279c0c23


猜你喜欢
- python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。d
- 注意,一般官方接口都带有可导功能,如果你实现的层不具有可导功能,就需要自己实现梯度的反向传递。官方Linear层:class Linear(
- 本文实例讲述了微信小程序MUI导航栏透明渐变功能。分享给大家供大家参考,具体如下:导航栏透明渐变效果实现原理1. 给page-group设置
- 一、什么是线性回归1.线性回归简述线性回归,是一种趋势,通过这个趋势,我们能预测所需要得到的大致目标值。线性关系在二维中是直线关系,三维中是
- python入门细节相除后的类型type(2/2)floattype(2//2)int双斜杠是整除,出来的类型是int。单斜杠的出来的是fl
- Django项目配置修改我们需要把原先的Django项目进行修改才能更好地进行项目迁移工作,首先需要修改的是settings.py文件。由于
- 一、背景 简单的写个.exe程序,没必要去学习mfc、c++等,可以学习python。python可以轻易的调用windows的api,轻松
- function ten2eight(x){ var s=[]; var r=''; while(x>0){ s.pu
- 用pytesseract识别图片中的数字Win 平台 使用步骤一、安装包。二、找个图片,运行如下识别程序。示例程序:import pytes
- 1、创建保存mysql备份文件的路径 /mysqldata #mkdir /mysqldata 2、创建/usr/sbin/bakmysql
- 对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个
- 01直接生成这类方法是利用基本程序软件包numpy的随机数产生方法来生成各类用于聚类算法数据集合,也是自行制作轮子的生成方法。一、基础类型1
- 最近,某水果手机厂在万众期待中开了一场没有发布万众期待的手机产品的发布会,发布了除手机外的其他一些产品,也包括最新的水果14系统。几天后,更
- 高效处理数据类型方法:处理数据In [1]: from random import randintIn [2]: data=[randint
- 抛出问题:求一数组如 l = [0, 1, 2, 3, -4, 5, -6],求该数组的最大连续子数组的和 如结果为[0,1,2,3,-4,
- 一、概述有时候会在一台主机上安装多个不同的Python版本,用以运行不同时期开发的项目, 而在这些不同的Python版本上有时又会加装不同的
- 本文实例讲述了python RC4加密操作。分享给大家供大家参考,具体如下:# -*- conding:utf-8 -*-from Cryp
- list、tuple等都是可迭代对象,我们可以通过iter()函数获取这些可迭代对象的迭代器。然后我们可以对获取到的迭代器不断使⽤next(
- 将进程挂起(Suspend) 而非 阻塞(Block)如果用sleep() 进程将阻塞假设进程下有两个线程 那么这两个线程会继续运行要使进程
- 1. imageZMQ库实现imageZMQ库链接:https://github.com/jeffbass/imagezmq该库原本是用于树