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

H5动态公共导航栏

CommonNavBar.vuetemplatedivclasscommon-nav-bar:stylenavBarStyle!-- 状态栏占位可以按项目需要删除或调整高度 --divclassstatus-bar-placeholder/div!-- 主导航栏使用 Vant NavBar --van-nav-bar :titletitle:left-textleftText:right-textrightText:left-arrowleftArrowclick-left$emit(click-left)click-right$emit(click-right):borderfalse:fixedfixed!-- 支持插槽透传 --template v-if$slots.left#leftslotnameleft/slot/templatetemplate v-if$slots.right#rightslotnameright/slot/templatetemplate v-if$slots.title#titleslotnametitle/slot/template/van-nav-bar/div/templatescriptexportdefault{name:CommonNavBar, props:{// 标题、左右文案等常规配置 title:{type: String, default:}, leftText:{type: String, default:}, rightText:{type: String, default:}, leftArrow:{type: Boolean, default:true}, fixed:{type: Boolean, default:true}, /** * 滚动距离由父组件传入必传 * 比如 window / 容器的 scrollTop */ scrollTop:{type: Number, required: true, default:0}, /** * 背景配置 *1. startColor: 起始背景色未滚动 / 透明阶段 *2. endColor: 结束背景色滚动到阈值后的颜色 *3. bgImage: 默认背景图片未滚动或透明时 *4. endBgImage: 滚动到阈值后的背景图片可选 *5. changeDistance: 背景从0-1完成过渡的滚动距离 *6. useOpacity: 是否通过透明度渐变true 时使用 startColor/endColor opacity */ backgroundConfig:{type: Object, default:()({startColor:#ffffff, endColor:#ffffff, bgImage:, // 如https://xxx/xxx.pngendBgImage:, // 如https://xxx/yyy.pngchangeDistance:150, // 滚动 150px 完成渐变 useOpacity:true})}}, computed:{// 归一化滚动进度0 ~1progress(){const dthis.backgroundConfig.changeDistance||150;const pthis.scrollTop / d;returnp1?1:p0?0:p;},navBarStyle(){const{startColor, endColor, bgImage, endBgImage, useOpacity}this.backgroundConfig;const style{position: this.fixed ?fixed:relative, top:0, left:0, right:0, zIndex:100, transition:background 0.25s linear, // 让背景图在 NavBar 外层生效 backgroundRepeat:no-repeat, backgroundSize:cover, backgroundPosition:center center};//1. 处理背景图片切换 // 当 progress1使用 bgImageprogress1时使用 endBgImage若有if(bgImage||endBgImage){// 你也可以根据 progress 做淡入淡出这里做简单切换 const useEndImgendBgImagethis.progress1;style.backgroundImageurl(${useEndImg ? endBgImage:bgImage});}//2. 处理背景色 / 透明度渐变if(useOpacity){//2.1使用 endColor但通过透明度从0~1渐变 const endRGBAthis.hexToRgba(endColor||#ffffff, this.progress);style.backgroundColorendRGBA;}else{//2.2在 startColor 和 endColor 之间做颜色插值 style.backgroundColorthis.mixColor(startColor, endColor, this.progress);}returnstyle;}}, methods:{/** *16进制颜色转 rgba * hex:#RRGGBB/#RGB*/ hexToRgba(hex, alpha1){if(!hex)returnrgba(255,255,255,${alpha});letr255, g255, b255;letnormalizedhex.replace(#,);if(normalized.length3){rparseInt(normalized[0] normalized[0],16);gparseInt(normalized[1] normalized[1],16);bparseInt(normalized[2] normalized[2],16);}elseif(normalized.length6){rparseInt(normalized.slice(0,2),16);gparseInt(normalized.slice(2,4),16);bparseInt(normalized.slice(4,6),16);}returnrgba(${r},${g},${b},${alpha});}, /** * 颜色插值在 startColor 和 endColor 之间按照 t(0~1)做线性渐变 */ mixColor(start, end, t){const parseHex(hex){letnormalizedhex.replace(#,);if(normalized.length3){normalizednormalized .split().map((c)c c).join();}const rparseInt(normalized.slice(0,2),16);const gparseInt(normalized.slice(2,4),16);const bparseInt(normalized.slice(4,6),16);return{r, g, b};};const sparseHex(start||#ffffff);const eparseHex(end||#ffffff);const rMath.round(s.r (e.r - s.r)* t);const gMath.round(s.g (e.g - s.g)* t);const bMath.round(s.b (e.b - s.b)* t);returnrgb(${r},${g},${b});}}};/scriptstyle scoped.common-nav-bar{/* 外层容器高度状态栏 van-nav-bar 高度 * 按项目情况可以自定义也可以不要 status-bar-placeholder只用 NavBar 自己的高度。 */}/* 顶部状态栏占位可在 APP 内嵌 H5 时按机型改成环境变量高度 */ .status-bar-placeholder{height:0;/* 如果需要留出状态栏高度可改成20/24等 */}/styleHome.vuetemplatedivclasspagescroll.passiveonScrollrefscrollContainercommon-nav-bar :title首页:scroll-topscrollTop:background-confignavBgConfigclick-leftonBack/!-- 实际内容 --divclasspage-content!-- 模拟内容占位 --div v-fori in 50:keyiclassblock内容{{i}}/div/div/div/templatescriptimportCommonNavBar from/components/CommonNavBar.vue;exportdefault{name:Home, components:{CommonNavBar},data(){return{scrollTop:0, navBgConfig:{// 起始为透明白色用 opacity 渐变 startColor:#ffffff, endColor:#ffffff, bgImage:https://xxx/your-top-bg.png, // 顶部背景图 endBgImage:, // 可选滚动到顶后切成另一张图 changeDistance:150, // 滚动 150px 后完全不透明 useOpacity:true}};},mounted(){// 如果外层是 window 滚动而不是 div 滚动则需要监听 window // window.addEventListener(scroll, this.onWindowScroll,{passive:true});},beforeDestroy(){// window.removeEventListener(scroll, this.onWindowScroll);}, methods:{onScroll(e){this.scrollTope.target.scrollTop;},onWindowScroll(){this.scrollTopwindow.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},onBack(){this.$router.go(-1);}}};/scriptstyle scoped.page{position: relative;height: 100vh;overflow-y: auto;/* 这里用自身滚动作为例子 */}.page-content{padding-top: 46px;/* 留出 NavBar 高度防止内容被挡住 */}.block{height: 80px;border-bottom: 1px solid#eee;line-height: 80px;text-align: center;}/style

相关文章:

H5动态公共导航栏

CommonNavBar.vue&#xff1a; <template><divclass"common-nav-bar":style"navBarStyle"><!-- 状态栏占位&#xff0c;可以按项目需要删除或调整高度 --><div class"status-bar-placeholder"></div><!-- 主导…...

时间序列分类新范式:从技术突破到商业落地全指南

时间序列分类新范式&#xff1a;从技术突破到商业落地全指南 【免费下载链接】InceptionTime 项目地址: https://gitcode.com/gh_mirrors/in/InceptionTime 时间序列分类是数据分析领域的核心挑战&#xff0c;传统方法往往在多尺度特征捕捉、实时性分析和复杂场景适应性…...

数据管理效率低下?MongoDB Compass 重新定义数据库可视化:从入门到精通的非线性学习路径

数据管理效率低下&#xff1f;MongoDB Compass 重新定义数据库可视化&#xff1a;从入门到精通的非线性学习路径 【免费下载链接】compass The GUI for MongoDB. 项目地址: https://gitcode.com/gh_mirrors/com/compass 当你面对命令行中密密麻麻的 MongoDB 数据时&…...

三千年的欲望、痕迹与自感:资本批判与伦理中间件

三千年的欲望、痕迹与自感&#xff1a;资本批判与伦理中间件岐金兰 丙午神农---引言&#xff1a;被命名的与未命名的在人类文明的长河中&#xff0c;有一个东西从未缺席&#xff0c;却长期被剥夺了命名的权利。它比语言更古老&#xff0c;比理性更顽强&#xff0c;比任何社会制…...

终极Cursor Pro破解指南:免费解锁AI编程助手完整功能

终极Cursor Pro破解指南&#xff1a;免费解锁AI编程助手完整功能 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tria…...

拆解中金2025财报:飞轮效应,如何驱动高质量增长?

2025年的中国资本市场&#xff0c;有三条主线在交汇&#xff1a;创新驱动、资本市场深化改革、个人养老金全面推开。它们分别指向一家投行必须具备的三种能力——资产端的挖掘、交易端的兑现、资金端的配置。 与此同时&#xff0c;证券行业正在经历一场无声的洗牌。牌照红利在…...

HRS广濑电机(HIROSE)推出 AU1 系列获电动车行业顶级制造商采用

HRS广濑电机AU1系列获电动车行业顶级制造商采用作为车载USB Type-C标准化的引领者加速推动下一代车辆的设计进程广濑电机(Hirose Electric)的AU1系列成为连接器行业中首个获大型电动车制造商采纳为其车载USB Type-C接口规格的解决方案。借此契机&#xff0c;我司将与该OEM厂商携…...

nba篮球数据项目书

import pandas as pd import randomdef get_2000_nba_players():"""生成2000条NBA球员数据&#xff08;基于真实球员名 合理数据&#xff09;100%成功&#xff0c;无需网络请求"""# 真实NBA球员名&#xff08;前200名真实球员&#xff09;real_…...

Python脚本:一键将图片按顺序合成PDF

&#x1f4cc; 前言在日常工作和学习中&#xff0c;我们经常需要将多张图片&#xff08;如扫描件、截图、照片&#xff09;合并成一个PDF文件。虽然有很多现成的工具可以实现&#xff0c;但用Python自己写一个脚本不仅灵活&#xff0c;还能避免上传到第三方网站带来的隐私风险。…...

2026年企业APM应用性能观测工具选型指南:四大主流方案深度对比

2026年企业APM应用性能观测工具选型指南&#xff1a;四大主流方案深度对比 2026年&#xff0c;企业数字化转型进入云原生深水区&#xff0c;微服务、分布式架构已成为中大型企业IT系统的标配&#xff0c;同时AI Agent与大模型技术正在深度重构运维体系&#xff0c;可观测性已从…...

ISO-SLAM-seq:全长 RNA代谢测序服务

ISO-SLAM-seq 技术&#xff0c;是 SLAM-seq 与 ISO-seq 的结合&#xff0c;通过研发成熟的核苷类似物 4-硫尿苷 (S4U) 代谢 RNA 标记方法和基于 Oxford Nanopore Technology 纳米孔测序平台或者 PacBio 的三代全长转录组测序方法&#xff0c;ISO-SLAM-seq 能检测整合到总 RNA 中…...

drm_gpusvm 与 drm_pagemap 执行顺序分析

概述 在 SVM&#xff08;Shared Virtual Memory&#xff09;实现中&#xff0c;drm_gpusvm 和 drm_pagemap 分属两个不同的抽象层&#xff0c;协同完成 GPU 对进程虚拟地址空间的共享访问。两者的执行顺序并非固定的"先底层后上层"&#xff0c;而是根据操作场景有不同…...

3款轻量级替代方案:华硕笔记本硬件控制工具深度解析

3款轻量级替代方案&#xff1a;华硕笔记本硬件控制工具深度解析 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar…...

计算机春考-系统管理与服务器配置-01安装Windows Server 2012 R2操作系统

活动1 创建虚拟机1. 单击VMware 主界面中的【创建新的虚拟机】2. 进入【新建虚拟机向导】界面&#xff0c;选中【典型&#xff08;推荐&#xff09;】按钮设置配置类型&#xff0c;点击【下一步】3. 在安装客户机操作系统界面选择【稍后安装操作系统】&#xff0c;单击【下一步…...

解决 Antigravity 新谷歌账户无法登录的问题

最近在使用 Antigravity 时遇到一个奇葩问题&#xff0c;折腾了大半天终于解决&#xff0c;特意记录下来&#xff0c;希望能帮到有同样困扰的小伙伴 —— 老谷歌免费账户能正常登录 Antigravity&#xff0c;但新注册的谷歌 Pro 账户&#xff08;和老账户一样都是美国地区&#…...

考虑浆液黏度时变性与重力效应的注浆压力作用下隧道围岩变形的流固耦合动态分析模型 基于6.1版本...

考虑浆液黏度时变性与重力效应的注浆压力作用下隧道围岩变形的流固耦合动态分析模型 基于6.1版本 可视化结果&#xff1a;位移大小&#xff08;时间、应力不同而不同&#xff09;、应力分布、 打开COMSOL 6.1新建模型时&#xff0c;突然发现隧道注浆模拟要考虑浆液黏度的时间变…...

CST可调谐太赫兹超材料吸收器仿真教学,石墨烯,二氧化钒,锑化铟等材料设置 包括建模过程,后处理

CST可调谐太赫兹超材料吸收器仿真教学&#xff0c;石墨烯&#xff0c;二氧化钒&#xff0c;锑化铟等材料设置 包括建模过程&#xff0c;后处理&#xff0c;吸收光谱图教学等 包括宽带吸收器、窄带&#xff0c;以及宽窄带吸收器设计"打开CST微波工作室&#xff0c;先别急着…...

偏振无关 宽带消色差 长波红外超透镜模型 粒子群优化算法 复现论文:2022年博士论文

偏振无关 宽带消色差 长波红外超透镜模型 粒子群优化算法 复现论文&#xff1a;2022年博士论文&#xff1a;消色差超透镜设计原理及其应用研究 论文介绍&#xff1a;采用各向同性的多种不同形状的超表面单元&#xff0c;利用庞大的数据库和粒子群优化算法&#xff0c;设计长波红…...

**发散创新:基于Python的轻量级知识推理引擎实现与实战**在人工智能飞速发展的今天,**知识推理**

发散创新&#xff1a;基于Python的轻量级知识推理引擎实现与实战 在人工智能飞速发展的今天&#xff0c;知识推理已成为构建智能系统的核心能力之一。它不仅支撑着推荐系统、问答机器人和语义搜索等场景&#xff0c;更是实现AI从“感知”向“理解”跃迁的关键路径。本文将带你…...

**发散创新:服务端渲染(SSR)的深度实践与性能优化实战**在现代前端架构

发散创新&#xff1a;服务端渲染&#xff08;SSR&#xff09;的深度实践与性能优化实战 在现代前端架构中&#xff0c;服务端渲染&#xff08;Server-Side Rendering, SSR&#xff09; 已不再是“可选特性”&#xff0c;而是提升首屏加载速度、SEO友好度和用户体验的核心手段之…...

AI大模型的简历如何写才能拿到面试机会?简历+项目+面试技巧+面试题一套全搞定!

AI大模型的简历如何写才能拿到面试机会&#xff1f;简历项目面试技巧面试题一套全搞定&#xff01; 一、简历撰写&#xff1a;突出AI大模型核心能力 1. 技术栈明确标注 必写项&#xff1a; 框架&#xff1a;PyTorch、TensorFlow、Hugging Face Transformers、DeepSpeed、Lang…...

突破下载瓶颈:3个鲜为人知的ComfyUI加速方案,速度提升300%的秘密

突破下载瓶颈&#xff1a;3个鲜为人知的ComfyUI加速方案&#xff0c;速度提升300%的秘密 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and…...

企业级AI智能体平台技术评测:9款产品架构差异与生产落地能力分析

现在&#xff0c;大模型已经从“会聊天”进化到了“会干活”&#xff0c;AI智能体&#xff08;AI Agent&#xff09;成为这场变革的核心载体。麦肯锡数据显示&#xff0c;2025年已有62%的组织开展AI智能体相关实践&#xff0c;64%的企业认为AI提升了组织创新能力&#xff0c;其…...

如何永久保存微信聊天记录:WeChatMsg本地化数据管理完全指南

如何永久保存微信聊天记录&#xff1a;WeChatMsg本地化数据管理完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...

AutoCAD数据处理的.NET解决方案:ACadSharp全功能指南

AutoCAD数据处理的.NET解决方案&#xff1a;ACadSharp全功能指南 【免费下载链接】ACadSharp C# library to read/write cad files like dxf/dwg. 项目地址: https://gitcode.com/gh_mirrors/ac/ACadSharp 在工程数字化时代&#xff0c;如何高效处理AutoCAD文件数据已成…...

5大核心功能打造高效媒体播放:免费开源解码工具LAV Filters全解析

5大核心功能打造高效媒体播放&#xff1a;免费开源解码工具LAV Filters全解析 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 在数字媒体播放领域&#xff0c…...

LangChain全面解析:从入门到实战,构建你的第一个AI应用

一、什么是LangChain? LangChain是一个专为大型语言模型(LLM)应用开发设计的开源框架,由Harrison Chase于2022年10月发布。它提供了一套标准化的接口和工具,帮助开发者快速构建基于LLM的智能应用程序。 LangChain的核心理念是将LLM与外部数据源、计算资源和其他工具连接…...

基于九轴传感器 + K-means 聚类的振动异常检测实战教程

&#xff08;嵌入式 / 工业监测场景&#xff1a;设备振动、电机故障、结构松动、碰撞异常实时检测&#xff09;一、前言&#xff08;你能学到什么&#xff09;这篇文章不讲虚的&#xff0c;直接带你做一个工业级轻量异常检测系统&#xff1a;用 LSM6DS3TR-C&#xff08;6 轴&am…...

谷歌SEO网站收录秘籍:如何用AI工具去创作高质量文章

2026年谷歌SEO算法趋势与AI工具实操逻辑&#xff0c;我将从 “技术基建 - 关键词挖掘 - AI创作优化 - 收录加速” 四大核心环节&#xff0c;拆解 AI 创作高质量收录文章的完整方法论&#xff0c;所有技巧均基于最新实测数据与工具实操经验。一、前提认知&#xff1a;AI 谷歌 S…...

不再依赖翻译专员:跨马翻译让运营人员也能独立完成高质量多语言出图

一、一个让中型跨境团队头疼的问题 我们团队从最初的单人作战发展到现在的十五人规模&#xff0c;花了大概三年时间。团队架构从最早的"运营一肩挑"&#xff0c;逐步细分为运营组、产品组、设计组、客服组和市场组。分工越来越明确&#xff0c;但问题也随之而来——翻…...