当前位置: 首页 > news >正文

UniApp 实现炫酷导航栏:选中图标上移并隐藏文字

在移动应用开发中,导航栏是用户与应用交互的重要组成部分,一个美观且交互性强的导航栏能大大提升用户体验。本文将详细介绍如何使用 UniApp 实现一个独特的导航栏,当用户选中某个导航项时,对应的图标会上移并隐藏文字,下面我们就来一步步剖析这个实现过程。

实现效果概述

我们要实现的导航栏固定在页面底部,包含多个导航项,每个导航项由图标和文字组成。当用户点击某个导航项时,该导航项的图标会上移一定距离,同时文字隐藏,给用户带来流畅且有趣的交互体验。

模板部分(template)

<template><!-- 导航栏容器 --><view class="tab-bar"><!-- 循环渲染导航栏项 --><view class="tab-bar-item" :class="{ 'active': currentIndex === index }" v-for="(item, index) in tabBarList" :key="index" @click="handleTabClick(index)"><!-- 图标容器 --><view class="icon-container"><!-- 根据选中状态显示不同图标 --><image :src="currentIndex === index ? item.activeIcon : item.icon" mode="aspectFit"></image></view><!-- 文字容器,根据选中状态决定是否显示 --><view class="text-container" :style="{ display: currentIndex === index ? 'none' : 'block' }">{{ item.text }}</view></view></view>
</template>

脚本部分(script)

<script>
export default {data() {return {// 当前选中的导航栏项索引currentIndex: 0,// 导航栏数据列表tabBarList: [{// 引用 static 文件夹下的未选中图标icon: '/static/logo/index.png', // 引用 static 文件夹下的选中图标activeIcon: '/static/logo/index-s.png', text: '首页'},{icon: '/static/logo/fen.png',activeIcon: '/static/logo/fen-s.png',text: '分类'},{icon: '/static/logo/my.png',activeIcon: '/static/logo/my-s.png',text: '我的'}]};},methods: {// 处理导航栏项点击事件handleTabClick(index) {this.currentIndex = index;}}
};
</script>

样式部分(style)

<style scoped>
.tab-bar {display: flex;justify-content: space-around;align-items: center;position: fixed;bottom: 0;left: 0;right: 0;height: 50px;background-color: #fff;border-top: 1px solid #eee;
}.tab-bar-item {display: flex;flex-direction: column;align-items: center;justify-content: center;width: 80px;transition: all 0.3s;
}.tab-bar-item.active .icon-container {transform: translateY(-10px); /* 图标上移 10px */
}.icon-container {width: 24px;height: 24px;transition: transform 0.3s;
}.icon-container image {width: 100%;height: 100%;
}.text-container {font-size: 12px;color: #666;margin-top: 2px;
}
</style>

总结

通过以上的代码实现,我们成功地使用 UniApp 打造了一个具有独特交互效果的导航栏。这种选中图标上移并隐藏文字的设计,不仅增加了导航栏的视觉吸引力,还提升了用户与应用的交互体验。开发者可以根据实际需求调整图标、文字和动画效果,让导航栏更符合项目的整体风格。希望本文对你在 UniApp 开发中实现类似的导航栏有所帮助。

你可以根据实际情况对上述内容进行修改和完善,同时可以在 CSDN 博客中添加代码块高亮、图片展示等功能,让文章更加丰富和易读。

最后,祝大家元宵节快乐

 

相关文章:

UniApp 实现炫酷导航栏:选中图标上移并隐藏文字

在移动应用开发中&#xff0c;导航栏是用户与应用交互的重要组成部分&#xff0c;一个美观且交互性强的导航栏能大大提升用户体验。本文将详细介绍如何使用 UniApp 实现一个独特的导航栏&#xff0c;当用户选中某个导航项时&#xff0c;对应的图标会上移并隐藏文字&#xff0c;…...

Django 操作表中的数据(增删改查)

1.新建数据 我之前已经在数据库中创建了两张表&#xff0c;如下 在urls.py文件中添加一行代码&#xff0c;然后再在views.py文件中编写函数 &#xff08;将 URL 路径 orm/ 映射到 Django 视图函数 views.orm&#xff0c;当用户访问 orm/ 时&#xff0c;Django 会调用 orm 视图…...

优选驾考小程序

第2章 系统分析 2.1系统使用相关技术分析 2.1.1Java语言介绍 Java语言是一种分布式的简单的 开发语言&#xff0c;有很好的特征&#xff0c;在安全方面、性能方面等。非常适合在Internet环境中使用&#xff0c;也是目前企业级运用中最常用的一个编程语言&#xff0c;具有很大…...

vue开发06:前端通过webpack配置代理处理跨域问题

1.定义 在浏览器尝试请求不同源&#xff08;域名、协议、端口号不同&#xff09;的资源时&#xff0c;浏览器的同源策略会阻止这种跨域请求。&#xff08;比如前端端口15500&#xff0c;后端端口5050&#xff0c;前端界面不可以直接调用5050端口&#xff09; 2.解决方案 使用前…...

C++基础 | 线程`std::thread`

什么是std::thread&#xff1f; std::thread是C11中引入的一个类&#xff0c;用于表示和管理线程。通过std::thread&#xff0c;我们可以创建一个新的线程来执行指定的任务。线程是操作系统调度的基本单位&#xff0c;多个线程可以并发执行&#xff0c;从而提高程序的效率。 创…...

体验 DeepSeek-R1:解密 1.5B、7B、8B 版本的强大性能与应用

文章目录 &#x1f34b;引言&#x1f34b;DeepSeek 模型简介&#x1f34b;版本更新&#xff1a;1.5B、7B、8B 的区别与特点&#x1f34b;模型评估&#x1f34b;体验 DeepSeek 的过程&#x1f34b;总结 &#x1f34b;引言 随着大规模语言模型的持续发展&#xff0c;许多模型在性…...

2024年认证杯SPSSPRO杯数学建模A题(第二阶段)保暖纤维的保暖能力全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 A题 保暖纤维的保暖能力 原题再现&#xff1a; 冬装最重要的作用是保暖&#xff0c;也就是阻挡温暖的人体与寒冷环境之间的热量传递。人们在不同款式的棉衣中会填充保暖材料&#xff0c;从古已有之的棉花、羽绒到近年来各种各样的人造纤维。不…...

P1878 舞蹈课(详解)c++

题目链接&#xff1a;P1878 舞蹈课 - 洛谷 | 计算机科学教育新生态 1.题目解析 1&#xff1a;我们可以发现任意两个相邻的都是异性&#xff0c;所以他们的舞蹈技术差值我们都要考虑&#xff0c;4和2的差值是2&#xff0c;2和4的差值是2&#xff0c;4和3的差值是1&#xff0c;根…...

或非门组成的SR锁存器真值表相关问题

PS&#xff1a;主要是给大家抛砖引玉&#xff0c;不喜勿喷。 问题描述&#xff1a;或非门组成的SR锁存器&#xff0c;为什么当SD和RD等于0时候的真值表一个是Q0&#xff0c;Q0.一个结果是Q1&#xff0c;Q1&#xff1f;...

机器学习算法 - 随机森林之决策树初探(1)

随机森林是基于集体智慧的一个机器学习算法&#xff0c;也是目前最好的机器学习算法之一。 随机森林实际是一堆决策树的组合&#xff08;正如其名&#xff0c;树多了就是森林了&#xff09;。在用于分类一个新变量时&#xff0c;相关的检测数据提交给构建好的每个分类树。每个…...

webpack构建流程

文章目录 [TOC](文章目录) 运行流程初始化流程编译构建流程compile编译make 编译模块build module 完成模块编译 输出流程seal输出资源emit输出完成 小结 运行流程 是一个串行的过程&#xff0c;它的工作流程就是将各个插件串联起来 在运行过程中会广播事件&#xff0c;插件只…...

服务器之连接简介(Detailed Explanation of Server Connection)

一台服务器最大能支持多少连接&#xff1f;一台客户端机器最多能发起多少条连接&#xff1f;&#xff1f; 我们知道TCP连接&#xff0c;从根本上看其实就是client和server端在内存中维护的一组【socket内核对象】&#xff08;这里也对应着TCP四元组&#xff1a;源IP、源端口、…...

第1章大型互联网公司的基础架构——1.5 服务发现

讲到这里&#xff0c;我们已经对一个客户端请求进入业务HTTP服务的过程有了较为详细的了解。业务HTTP服务在处理请求的过程中免不了与其他下游服务通信——可能会调用其他业务服务&#xff0c;可能需要访问数据库&#xff0c;可能会向消息中间件投递消息等&#xff0c;所以业务…...

uniapp PDF 预览和下载

创建 index.vue <template><view><view class"box"><view class"item" ><view class"title"><span></span><text>文件</text></view><view class"list" v-for"(…...

ubuntu服务器部署

关闭欢迎消息 服务器安装好 ubuntu 系统后&#xff0c;进行终端登录&#xff0c;会显示出很多的欢迎消息 通过在用户的根目录下执行 touch .hushlogin 命令&#xff0c;再次登录终端就不会出现欢迎消息 修改hostname显示 修改 /etc/hostname 文件内容为主机名&#xff0c;保…...

Deepseek 本地部署

准备环境 设备&#xff1a;家用笔记本电脑&#xff0c;8核/16G/1Tb SSD/无独显 系统&#xff1a;windows10 软件环境&#xff08;非源码部署不需要&#xff09;&#xff1a;conda 4.8.5、python3.7、git2.13 步骤 下载安装Ollama 下载地址&#xff1a;OllamaGet up and r…...

[Linux][问题处理]修改密码报You must wait longer to change your password

一、问题描述 在Linux控制台中修改密码&#xff0c;键入旧密码&#xff0c;设置并确认新密码后&#xff0c;却提示You must wait longer to change your password&#xff08;您必须等待更长时间才能更改密码&#xff09; 二、原因 当前修改时间 < Minimum number of da…...

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-22- 操作鼠标拖拽 - 下篇(详细教程)

1.简介 上一篇中&#xff0c;宏哥说的宏哥在最后提到网站的反爬虫机制&#xff0c;那么宏哥在自己本地做一个网页&#xff0c;没有那个反爬虫的机制&#xff0c;谷歌浏览器是不是就可以验证成功了&#xff0c;宏哥就想验证一下自己想法&#xff0c;其次有人私信宏哥说是有那种…...

SpringBoot3使用Swagger3

版本 springboot3.4.2 JAVA 17 一、引入Swagger3依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.0.4</version> </dependency> 二、快速启…...

HCIA综合项目之多技术的综合应用实验

十五 HCIA综合实验 15.1 IP规划 #内网分配网段192.168.1.0 24#内网包括骨干链路和两个用户网段&#xff0c;素以需要划分三个&#xff0c;借两位就够用了192.168.1.0 26--骨干192.168.1.64 26---R1下网络192.168.1.128 26---R2下网络192.168.1.192 26--备用​192.168.1.64 26--…...

燕千云ITSM已支持DeepSeek对接!AI能力持续升级

春节期间&#xff0c;DeepSeek火爆全网&#xff0c;引发热议&#xff0c;作为国产AI大模型的黑马&#xff0c;DeepSeek凭借独特的训练方法、先进的模型架构和强大的联网推理能力&#xff0c;正不断拓展AI技术的应用边界。其“快思考”能力&#xff0c;可在极短时间内完成复杂决…...

Windows 自动主题:Windows AutoTheme

Windows 自动主题&#xff1a;Windows AutoTheme 链接&#xff1a;https://pan.xunlei.com/s/VOJ2ZG5t8QjL7_fGVIBgyxJQA1?pwdgbie# 自动切换&#xff1a;根据日出、日落时间自动切换 Windows 主题模式。高效轻量&#xff1a;使用 Rust 提供高效的系统调用&#xff0c;保证运…...

自定义Spring Cloud Gateway过滤器:记录慢请求

在构建微服务架构时&#xff0c;API网关是一个关键组件&#xff0c;它负责路由、负载均衡、安全验证等多种功能。Spring Cloud Gateway提供了强大的扩展能力&#xff0c;允许开发者通过自定义过滤器来增强其功能。本文将详细介绍如何实现一个自定义过滤器&#xff0c;用于记录响…...

python 浅拷贝和深拷贝

浅拷贝&#xff08;Shallow Copy&#xff09;语法示例代码 1示例代码 2 深拷贝&#xff08;Deep Copy&#xff09;语法示例代码 浅拷贝与深拷贝的区别示例&#xff1a;浅拷贝与深拷贝的对比 浅拷贝&#xff1a;只复制外层容器&#xff0c;内层嵌套对象仍然是共享的&#xff0c;…...

uni-app 学习(一)

一、环境搭建和运行 &#xff08;一&#xff09;创建项目 直接进行创建 &#xff08;二&#xff09;项目结构理解 pages 是页面 静态资源 打包文件&#xff0c;看我们想输出成什么格式 app.vue 页面的入口文件 main.js 是项目的入口文件 存放对打包文件的配置 pages 存放整…...

unity学习37:新版的动画器:动画状态机 Animator

目录 1 给游戏物体添加&#xff0c;新版的动画器 Animator 2 关于 Animator 3 创建 动画器的控制器 Animator Controller 4 打开动画编辑器 Animator 5 动画编辑器 还是Animation 5.1 创建新的动画 5.2 创建第2个动画 5.3 测试2个动画均可用 6 再次打开动画编辑器 A…...

FFmpeg+SDL实现简易视频播放器

参考链接 https://blog.csdn.net/qq_26611129/article/details/98732561 https://www.cnblogs.com/Azion/p/17756274.html https://avmedia.0voice.com/?id49050 https://blog.csdn.net/qq_44825209/article/details/133760652 https://www.cnblogs.com/Azion/p/17525955.htm…...

Vue3实现优雅的前端版本更新提示

背景 在前端项目开发中,当我们发布了新版本后,需要及时通知用户刷新页面以获取最新代码。本文将介绍一种优雅的实现方案。 实现原理 在项目根目录维护一个version.json文件,记录当前版本号前端定期请求version.json检查版本对比本地存储的版本号,如有更新则提示用户 核心代…...

vim常用快捷键

正常模式 在打开文件进入 Vim 后&#xff0c;默认处于正常模式&#xff0c;该模式下的快捷键主要用于光标移动、文本操作等。 光标移动 基本移动&#xff1a;h&#xff08;左移&#xff09;、j&#xff08;下移&#xff09;、k&#xff08;上移&#xff09;、l&#xff08;右移…...

P1226 【模板】快速幂

P1226 【模板】快速幂 题目描述 给你三个整数 a , b , p a,b,p a,b,p&#xff0c;求 a b m o d p a^b \bmod p abmodp。 输入格式 输入只有一行三个整数&#xff0c;分别代表 a , b , p a,b,p a,b,p。 输出格式 输出一行一个字符串 a^b mod ps&#xff0c;其中 a , b…...

【gRPC-gateway】是否有拦截器的情况添加健康检查的细节,与多路复用runtime.NewServeMux和gRPC区别讲解,与跨域功能,go案例

健康检查详解 什么是健康检查&#xff1f; 健康检查&#xff08;Health Checking&#xff09;是一种机制&#xff0c;用于监控服务的状态&#xff0c;确保服务在运行时是健康的、可用的。通过健康检查&#xff0c;系统可以自动检测服务是否正常工作&#xff0c;并在出现问题时…...

vue开发时,用localStorage常用方法及存储数组方法。

localStorage 可以让你在浏览器中存储键值对&#xff0c;并且在页面关闭后数据依然保留。localStorage 中存储的数据会一直保存在客户端&#xff0c;直到被手动删除或者清除浏览器缓存。 localStorage 中存储的数据在同一浏览器的不同窗口之间是共享的&#xff0c;而 sessionSt…...

HashMap详解+简单手写实现(哈希表)

1. 什么是 HashMap&#xff1f; HashMap是Java集合框架中的一种数据结构&#xff0c;它实现了Map接口&#xff0c;用于存储键值对&#xff08;Key-Value Pair&#xff09;。HashMap允许null键和null值&#xff0c;并且不保证元素的顺序。 --- 2. HashMap 的工作原理 2.1 内…...

解决Did not find dashscope_api_key问题——jupyter设置环境变量

jupyter中使用通义千文langchain 报错 Value error, Did not find dashscope_api_key, please add an environment variable DASHSCOPE_API_KEY which contains it, or pass dashscope_api_key as a named parameter.我本来以为这样就是已经加上了&#xff1a; #导入相关包 i…...

尚硅谷爬虫note003

一、函数 1. 函数的定义 def 函数名&#xff08;&#xff09;&#xff1a; 代码 2.函数的调用 函数名&#xff08;&#xff09; 3. 定义参数&#xff08;不调用函数不执行&#xff09; def sum&#xff08;a&#xff0c;b&#xff09; #形参 c a b print&#xff08;c&…...

算法兵法全略(译文)

目录 始计篇 谋攻篇 军形篇 兵势篇 虚实篇 军争篇 九变篇 行军篇 地形篇 九地篇 火攻篇 用间篇 始计篇 算法&#xff0c;在当今时代&#xff0c;犹如国家关键的战略武器&#xff0c;也是处理各类事务的核心枢纽。算法的世界神秘且变化万千&#xff0c;不够贤能聪慧…...

NO.17十六届蓝桥杯备战|do-while循环|break和continue语句|三道练习(C++)

do-while循环 do-while语法形式 在循环语句中 do while 语句的使⽤最少&#xff0c;它的语法如下&#xff1a; //形式1 do 语句; while( 表达式 );//形式2 do { 语句1; 语句2; ... } while( 表达式 );while 和 for 这两种循环都是先判断&#xff0c;条件如果…...

【广州大学主办,发表有保障 | IEEE出版,稳定EI检索,往届见刊后快至1个月检索】第二届电气技术与自动化工程国际学术会议 (ETAE 2025)

第二届电气技术与自动化工程国际学术会议 (ETAE 2025) The 2nd International Conference on Electrical Technology and Automation Engineering 大会官网&#xff1a;http://www.icetae.com/【更多详情】 会议时间&#xff1a;2025年4月25-27日 会议地点&#xff1a…...

Spring Cache 详细讲解

Spring Cache 是 Spring 框架提供的缓存抽象层&#xff0c;通过统一的 API 和注解简化缓存操作&#xff0c;支持多种缓存实现&#xff08;如 Redis、EhCache、Caffeine 等&#xff09;。其核心目标是减少重复计算&#xff0c;提升系统性能&#xff0c;同时保持代码简洁性。 1. …...

CPT205 计算机图形学 OpenGL 3D实践(CW2)

文章目录 1. 介绍2. 设计3. 准备阶段4. 角色构建5. 场景构建6. 交互部分6.1 键盘交互6.2 鼠标交互6.3 鼠标点击出多级菜单进行交互 7. 缺点与问题7.1 程序bug7.2 游戏乐趣不足7.3 画面不够好看 8. 完整代码 1. 介绍 前面已经分享过了关于CPT205的CW1的2D作业&#xff0c;这次C…...

Netty的基本架构详解

EventLoopGroup基本认识 我们需要了解的 EventLoopGroup, Netty对EventLoopGroup做了很多的扩展实现&#xff0c;下图是他的家族图谱&#xff1a; 我们上一节课使用的案例&#xff0c;使用的是NioEventLoopGroup&#xff0c;他是NIO的实现&#xff0c;可以看出来他是Multithre…...

2025前端面试题超全面解析(附答案与深度扩展)

文章目录 一、HTML篇&#xff08;扩展版&#xff09;1. **HTML5语义化标签的实际应用场景**2. **Web Components实战&#xff1a;如何封装一个自定义按钮组件&#xff1f;**3. **Web Worker的用途与限制** 二、CSS篇&#xff08;扩展版&#xff09;1. **CSS盒模型详解&#xff…...

自己搭建可以和deepseek对话的WEB应用

第一步 下载安装anaconda&#xff0c;地址&#xff1a;https://repo.anaconda.com/ 第二步 打开anaconda客户端&#xff0c;打开conda命令行窗口 第三步 创建一个open-webui专属的python专属的虚拟环境&#xff0c;并且指定python具体的版本 conda create --name open…...

Linux系统运行模式和链接

一、系统运行模式 centos6 0 关机模式 1 单用户模式 2 字符模式&#xff0c;无网络连接 3 字符模式 4 预留 5 图形模式 6 重启模式 查看系统当前处于的运行模式 切换为图形模式 init 5 centos7 字符模式 multi-user…...

.NET 9.0 的 Blazor Web App 项目,进度条 <progress> 组件使用注意事项

一、执行过程中&#xff0c;要刷新 进度条 的显示&#xff0c;需要 延时、释放&#xff0c;否则进度条不 实时 更新&#xff0c;最后一下到 100% // 延时&#xff0c;释放给前端&#xff1a;【必须】&#xff0c;否则进度条不 实时 更新&#xff0c;最后一下到 100await Task.D…...

头歌实验--面向对象程序设计

目录 实验五 类的继承与派生 第1关&#xff1a;简易商品系统 任务描述 答案代码 第2关&#xff1a;公司支出计算 任务描述 答案代码 第3关&#xff1a;棱柱体问题 任务描述 答案代码 实验五 类的继承与派生 第1关&#xff1a;简易商品系统 任务描述 答案代码 #incl…...

IoTDB 断电后无法启动 DataNode,日志提示 Meet error while starting up

问题 IoTDB 1.3.2 版本&#xff0c;断电后 IoTDB 的 DataNode 无法启动&#xff0c;日志如下&#xff1a; 2024-12-16 14:45:41,350 [main] ERROR o.a.i.db.service.DataNode:562 - Meet error while starting up. org.apache.iotdb.commons.exception.StartupException: Fo…...

2024华为OD机试真题-最大报酬(C++)-E卷B卷-100分

2024华为OD机试最新题库-(C卷+D卷+E卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 示例一 解题思路 考点 代码 c++ 题目描述 小明每周上班都会拿到自己的工作清单,工作清单内包含n项工作, 每项工作都有对应的耗时时间(单位h)和报酬, 工作的总报酬为…...

jenkins war Windows安装

Windows安装Jenkins 需求1.下载jenkins.war2.编写快速运行脚本3.启动Jenkins4.Jenkins使用 需求 1.支持在Windows下便捷运行Jenkins&#xff1b; 2.支持自定义启动参数&#xff1b; 3.有快速运行的脚步样板。 1.下载jenkins.war Jenkins下载地址&#xff1a;https://get.j…...

HCIA项目实践--RIP相关原理知识面试问题总结回答

9.4 RIP 9.4.1 补充概念 什么是邻居&#xff1f; 邻居指的是在网络拓扑结构中与某一节点&#xff08;如路由器&#xff09;直接相连的其他节点。它们之间可以直接进行通信和数据交互&#xff0c;能互相交换路由信息等&#xff0c;以实现网络中的数据转发和路径选择等功能。&am…...