使用原生前端技术封装一个组件
封装导航栏
navbar-template.html
<header><nav><ul><li><a href="index.html"><i class="fas fa-home"></i> 主页</a></li><li><a href="#"><i class="fas fa-theater-masks"></i> 非遗项目</a><ul class="sub-menu"><li><a href="projects.html#beijing"><i class="fas fa-theater-masks"></i> 京剧</a></li><li><a href="projects.html#jianzhi"><i class="fas fa-scissors"></i> 剪纸</a></li></ul></li><li><a href="#"><i class="fas fa-user-friends"></i> 传承人</a><ul class="sub-menu"><li><a href="heritage.html#zhangsan"><i class="fas fa-user-friends"></i> 张三</a></li><li><a href="heritage.html#lisi"><i class="fas fa-user-friends"></i> 李四</a></li></ul></li><li><a href="#"><i class="fas fa-calendar-alt"></i> 活动</a><ul class="sub-menu"><li><a href="events.html#festival"><i class="fas fa-calendar-alt"></i> 非遗文化节</a></li><li><a href="events.html#workshop"><i class="fas fa-tools"></i> 工作坊</a></li></ul></li><li><a href="#"><i class="fas fa-info-circle"></i> 关于我们</a><ul class="sub-menu"><li><a href="about.html"><i class="fas fa-info-circle"></i> 关于我们</a></li><li><a href="news.html"><i class="fas fa-newspaper"></i> 非遗新闻</a></li></ul></li><li><a href="#"><i class="fas fa-user-circle"></i> 用户中心</a><ul class="sub-menu"><li><a href="login.html"><i class="fas fa-sign-in-alt"></i> 登录</a></li><li><a href="register.html"><i class="fas fa-user-plus"></i> 注册</a></li></ul></li></ul></nav>
</header>
navbar.js
class NavBar extends HTMLElement {constructor() {super();this.attachShadow({ mode: 'open' });this.loadTemplate();}async loadTemplate() {try {const response = await fetch('/template/navbar-template.html'); // 路径根据实际调整const text = await response.text();const template = document.createElement('template');template.innerHTML = text;// 创建 link 元素并添加样式表const link = document.createElement('link');link.rel = 'stylesheet';link.href = '/css/navbar.css'; // 替换为你的组件样式文件路径// 插入样式和模板内容到 Shadow DOMthis.shadowRoot.appendChild(link);this.shadowRoot.appendChild(template.content.cloneNode(true));} catch (err) {console.error('加载模板失败:', err);}}
}customElements.define('nav-bar', NavBar);
使用

相关文章:

使用原生前端技术封装一个组件
封装导航栏 navbar-template.html <header><nav><ul><li><a href"index.html"><i class"fas fa-home"></i> 主页</a></li><li><a href"#"><i class"fas fa-theate…...

lesson04-简单回归案例实战(理论+代码)
理解线性回归及梯度下降优化 引言 在机器学习的基础课程中,我们经常遇到的一个重要概念就是线性回归。今天,我们将深入探讨这一主题,并通过具体的例子来了解如何利用梯度下降方法对模型进行优化。 线性回归简介 线性回归是一种统计方法&a…...

Java 面试中的数据库设计深度解析
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Java 面试中的数据库设计深度解析一、数据库…...

国内首发!具有GPU算力的AI扫描仪
奥普思凯重磅推出的具有GPU算力的扫描仪,是一款真正意义上的AI扫描仪,奥普思凯将嵌有OCR发票识别核心的高性能NPU算力棒与高速扫描仪相结合,实现软件硬件相结合,采用一体化外观设计,实现高速扫描、快速识别表单&#x…...

【开发技巧指北】IDEA修改默认绑定Maven的仓库地址
【开发技巧指北】IDEA修改默认绑定Maven的仓库地址 Microsoft Windows 11 家庭中文版 IIntelliJ IDEA 2025.1.1.1 默认的IDEA是有自己捆绑的Maven的(这是修改完毕的截图) 修改默认的Maven配置,路径是IDEA安装路径下的plugins D:\Softwares\I…...
数据存储与运算
计算机中的数据存储与运算 输出地址后看不懂格式,为什么? 第一节:进制转换基础 ✅ 常见进制: 十进制(Decimal):日常使用的 0~9二进制(Binary):计算机底层使…...

【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案
【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案 目录 【2025最新】Java图书借阅管理系统:从课程作业到实战应用的完整解决方案**系统概述** **核心功能模块详解****1. 系统登录与权限控制****2. 借阅管理模块****3. 用户角色管理…...

springcloud openfeign 请求报错 java.net.UnknownHostException:
现象 背景 项目内部服务之间使用openfeign通过eureka注册中心进行服务间调用,与外部通过http直接调用。外部调用某个业务方提供的接口需要证书校验,因对方未提供证书故设置了忽略证书校验代码如下 Configuration public class IgnoreHttpsSSLClient {B…...

【harbor】--配置https
使用自建的 CA 证书来自签署和启用 HTTPS 通信。 (1)生成 CA认证 使用 OpenSSL 生成一个 2048位的私钥这是 自建 CA(证书颁发机构) 的私钥,后续会用它来签发证书。 # 1创建CA认证 cd 到harbor [rootlocalhost harbo…...
Oracle 临时表空间详解
Oracle 临时表空间详解 一 临时表空间概述 临时表空间(Temporary Tablespace)是Oracle数据库中用于存储临时数据的专用空间,主要用于: 排序操作(ORDER BY, GROUP BY等)哈希连接(HASH JOIN)临时表数据某些类型的索引创建临时LOB对象存储 二 临时表空间…...
深入理解享元模式:用Java实现高效对象共享
享元模式(Flyweight)的核心思想是对象复用,通过共享技术减少内存占用,就像"共享单车"一样让多个调用者共享同一组细粒度对象。 什么是享元模式? 享元模式是一种结构型设计模式,它通过共享技术有…...

OptiStruct实例:消声器前盖ERP分析(2)RADSND基础理论
13.2 Radiated Sound Output Analysis( RADSND ) RADSND 方法通过瑞利积分来求解结构对外的辐射噪声。其基本思路是分为两个阶段,如图 13-12 所示。 图13-12 结构辐射噪声计算示意图 第一阶段采用有限元方法,通过频响分析(模态叠加法、直接法)工况计算结…...

barker-OFDM模糊函数原理及仿真
文章目录 前言一、巴克码序列二、barker-OFDM 信号1、OFDM 信号表达式2、模糊函数表达式 三、MATLAB 仿真1、MATLAB 核心源码2、仿真结果①、barker-OFDM 模糊函数②、barker-OFDM 距离分辨率③、barker-OFDM 速度分辨率④、barker-OFDM 等高线图 四、资源自取 前言 本文进行 …...
Linux.docker.k8s基础概念
1.Linux基本命令 cat 查看文件内容。 cd 进入目标目录。 ll 查询当前路劲下文件的详细信息。 ls 查询当前路劲下的文件。 touch 建立一个文件。 mkdir 建立一个文件夹。 rm 删除文件或者目录。 mv 移动目录和重新命名文件。 unzip 解压。 top 查看当前线程的信息。 find …...
GIT命令行的一些常规操作
放弃修改 git checkout . 修改commit信息 git commit --amend 撤销上次本地commit 1、通过git log查看上次提交的哈希值 2、git reset --soft 哈希值 分支 1.创建本地分支 git branch 分支名 2.切换本地分支 git checkout mybranch; 3.创建一个新分支并…...
近期知识库开发过程中遇到的一些问题
我们正在使用Rust开发一个知识库系统,遇到了一些问题,在此记录备忘。 错误:Unable to make method calls because underlying connection is closed 场景:在docker中调用headless_chrome时出错 原因:为减小镜像大小&am…...

3.RV1126-OPENCV 图像叠加
一.功能介绍 图像叠加:就是在一张图片上放上自己想要的图片,如LOGO,时间等。有点像之前提到的OSD原理一样。例如:下图一张图片,在左上角增加其他图片。 二.OPENCV中图像叠加常用的API 1. copyTo方法进行图像叠加 原理…...

使用 HTML + JavaScript 实现一个日历任务管理系统
在现代快节奏的生活中,有效的时间管理变得越来越重要。本项目是一个基于 HTML 和 JavaScript 开发的日历任务管理系统,旨在为用户提供一个直观、便捷的时间管理工具。系统不仅能够清晰地展示当月日期,还支持事件的添加、编辑和删除操作&#…...

车载诊断架构SOVD --- 车辆发现与建连
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

Notepad++找回自动暂存的文件
场景: 当你没有保存就退出Notepad,下次进来Notepad会自动把你上次编辑的内容显示出来,以便你继续编辑。除非你手动关掉当前页面,这样Notepad就会删除掉自动保存的内容。 问题: Notepad会将自动保存的文件地址,打开Note…...

DL00924-基于深度学习YOLOv11的工程车辆目标检测含数据集
文末有代码完整出处 🚗 基于深度学习YOLOv11的工程车辆目标检测——引领智能识别新潮流! 🚀 随着人工智能技术的飞速发展, 目标检测 已经在各个领域取得了显著突破,尤其是在 工程车辆识别 这一关键技术上。今天&#…...

Axure RP11安装、激活、汉化
一:注册码 Axure RP11.0.0.4122在2025-5-29日亲测有效: 49bb9513c40444b9bcc3ce49a7a022f9...
【PhysUnits】15.6 引入P1后的左移运算(shl.rs)
一、源码 代码实现了Rust的类型级二进制数的左移运算(<<),使用类型系统在编译期进行计算。 use super::basic::{Z0, P1, N1, B0, B1, NonZero, NonOne, Unsigned}; use super::sub1::Sub1; use core::ops::Shl;// 左移运算(<<)…...

自编码器Auto-encoder(李宏毅)
目录 编码器的概念: 为什么需要编码器? 编码器什么原理? 去噪自编码器: 自编码器的应用: 特征解耦 离散隐表征 编码器的概念: 重构:输入一张图片,通过编码器转化成向量,要求再…...

数据结构之堆(topk问题、堆排序)
一、堆的初步认识 堆虽然是用数组存储数据的数据结构,但是它的底层却是另一种表现形式。 堆分为大堆和小堆,大堆是所有父亲大于孩子,小堆是所有孩子大于父亲。 通过分析我们能得出父子关系的计算公式,parent(child-1)/2ÿ…...

SpringBoot使用ffmpeg实现视频压缩
ffmpeg简介 FFmpeg 是一个开源的跨平台多媒体处理工具集,用于录制、转换、编辑和流式传输音频和视频。它功能强大,支持几乎所有常见的音视频格式,是多媒体处理领域的核心工具之一。 官方文档:https://ffmpeg.org/documentation.h…...
【Elasticsearch】exists` 查询用于判断文档中是否存在某个指定字段。它检查字段是否存在于文档中,并且字段的值不为 `null`
在 Elasticsearch 中,exists 查询用于判断文档中是否存在某个指定字段。它检查字段是否存在于文档中,并且字段的值不为 null。如果字段存在且有值(即使是空字符串或空数组),则 exists 查询会匹配该文档;如果…...

2025-05-31 Python深度学习9——网络模型的加载与保存
文章目录 1 使用现有网络2 修改网络结构2.1 添加新层2.2 替换现有层 3 保存网络模型3.1 完整保存3.2 参数保存(推荐) 4 加载网络模型4.1 加载完整模型文件4.2 加载参数文件 5 Checkpoint5.1 保存 Checkpoint5.2 加载 Checkpoint 本文环境: Py…...

长安链起链调用合约时docker ps没有容器的原因
在调用这个命令的时候,发现并没有出现官方预期的合约容器,这是因为我们在起链的时候没有选择用docker的虚拟环境,实际上这不影响后续的调用,如果想要达到官方的效果那么你只需要在起链的时候输入yes即可,如图三所示...

Appium+python自动化(七)- 认识Appium- 上
简介 经过前边的各项准备工作,终于才把appium搞定。 一、appium自我介绍 appium是一款开源的自动化测试工具,可以支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用(APP)。 1、 使用appium进…...