前端:实现二级菜单(二级菜单悬浮在一级菜单左侧)

效果

代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>左侧二级菜单实现</title><style>* {margin: 0;padding: 0;}/* 取消所有列表的序号 */ul,li {list-style-type: none;}/* 取消所有超链接的下划线 */a {text-decoration-line: none;color: white;}/* 全部样式 */.all_content {display: flex;}/* 左侧导航栏 */.left_nav {background-color: rgb(83, 151, 230);width: 5%;height: 100vh;}.left_nav p{width: 100%;text-align: center;font-size:120%;color: white;font-weight: bold;margin:10px 0;}/* 外层li */.menu-item {text-align: center;padding: 10px 0;background-color: rgb(83, 151, 230);position: relative;}.submenu {position: absolute;left: 100%;top: 50%;transform: translateY(-50%);display: none;background-color: rgb(120, 170, 228);white-space: nowrap;}.submenu:before {content: "";position: absolute;left: -10px;top: 50%;transform: translate(-50%, -50%) rotate(45deg);width: 10px;height: 10px;background-color: rgb(120, 170, 228);}.submenu-li {background-color: rgb(120, 170, 228);width: 100%;padding: 5px 10px;}.submenu-link:hover {font-weight: 600;}.menu-item:hover .submenu {display: block;}/* 右侧内容 */.right_content {width: 95%;}.content {display: none;/* 隐藏所有内容 */}.content.active {display: block;/* 显示被激活的内容 */}</style></head><body><div class="all_content"><div class="left_nav"><p>菜单</p><ul class="menu"><li class="menu-item"><a href="#" class="menu-link">销售</a><ul class="submenu"><li class="submenu-li"><a href="#"class="submenu-link"data-content-id="content1">功能1</a></li><li class="submenu-li"><a href="#"class="submenu-link"data-content-id="content2">报表1</a></li></ul></li><li class="menu-item"><a href="#" class="menu-link">采购</a><ul class="submenu"><li class="submenu-li"><a href="#"class="submenu-link"data-content-id="content3">功能2</a></li><li class="submenu-li"><a href="#"class="submenu-link"data-content-id="content4">报表2</a></li></ul></li></ul></div><div class="right_content"><div id="content1" class="content">功能1的内容</div><div id="content2" class="content">报表1的内容</div><div id="content3" class="content">功能2的内容</div><div id="content4" class="content">报表2的内容</div></div></div><script>// 获取所有一级菜单项var menuItems = document.querySelectorAll('.menu-item');// 为每个一级菜单项添加点击事件处理程序menuItems.forEach(function (menuItem) {var submenuLinks = menuItem.querySelectorAll('.submenu-link');var contents = document.querySelectorAll('.content');// 二级菜单项点击事件处理程序submenuLinks.forEach(function (submenuLink) {submenuLink.addEventListener('click', function (e) {e.preventDefault();// 隐藏所有内容contents.forEach(function (content) {content.classList.remove('active');});// 获取被点击项对应的内容IDvar contentId = submenuLink.getAttribute('data-content-id');// 添加激活状态到对应的内容var activeContent = document.getElementById(contentId);activeContent.classList.add('active');});});});</script></body></html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229780.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尴尬!谷歌搜索展示AI生成图片替代了真实照片

最近有报道称&#xff0c;谷歌搜索结果中以色列传奇歌手卡玛卡维沃奥莱的照片实际上是由人工智能生成的&#xff0c;这引发了人们对谷歌搜索结果准确性的担忧。 据报道&#xff0c;谷歌搜索引擎在查询卡玛卡维沃奥莱时&#xff0c;展示的顶部图片并非真实照片&#xff0c;而是…

冒泡排序以及改进方案

冒泡排序以及改进方案 介绍&#xff1a; 冒泡排序属于一种典型的交换排序&#xff08;两两比较&#xff09;。冒泡排序就像是把一杯子里的气泡一个个往上冒一样。它不断比较相邻的元素&#xff0c;如果顺序不对就像水泡一样交换它们的位置&#xff0c;直到整个序列像水泡一样…

人工智能_机器学习055_拉格朗日乘子法_拉格朗日乘数法的原理介绍_流程详解---人工智能工作笔记0095

上一节我们已经演示了把SVM支持向量机的分割线,画出来,并且,我们也推导了SVM支持向量机的公式,但是支持向量机的公式,是带有条件的对吧,带有条件就算起来比较麻烦 可以看到现在我们要可以用,拉格朗日乘数法,将 有等式约束条件的优化问题 转换为 无约束优化问题,把有条件转换为…

SEO内容优化-SEO内容优化排名方案

在当今数字化时代&#xff0c;网站的曝光和排名对于吸引流量至关重要。而在这个大数据的背后&#xff0c;SEO&#xff08;Search Engine Optimization&#xff0c;搜索引擎优化&#xff09;成为许多网站主和创作者们追逐的关键。在SEO的世界里&#xff0c;关键词的选择和优化是…

广域网加速技术

摘要&#xff1a; 随着企业数字化转型快速发展&#xff0c;越来越多企业将IT系统、应用和服务部署到云上&#xff0c;以实现更高效、灵活的管理和使用。这就对广域网提出了更高的要求&#xff0c;而广域网线路往往存在带宽费用昂贵、服务质量不可靠等问题。为了改善用户体验&am…

第十四章——C++中的代码重用

C的一个主要目标是促进代码重用。公有继承是实现这种目标的机制之一&#xff0c;但并不是唯一的机制。 包含对象成员的类 valarray类简介 valarray类是由头文件valarray支持的。这个类用于处理数值&#xff08;或具有类似特性的类&#xff09;&#xff0c;它支持诸如将数组…

Python基础语法之学习表达式进行符串格式化

Python基础语法之学习表达式进行符串格式化 一、代码二、效果 一、代码 print("11等于%d" % (1 1)) print(f"2/1等于{2 / 1}") print("字符串类型是%s" % type("字符串"))二、效果 坚持追求自己的梦想&#xff0c;即使道路漫长曲折&…

C语言---操作符的详解(下)

目录 1. 结构成员访问操作符 1.1 结构体 1.2结构体成员访问操作符 1.2.1 直接访问 1.2.2 间接访问 2. 操作符的属性 2.1 优先级 2.2 结合性 3. 表达式求值 3.1 整型提升&#xff08;类型小于int&#xff09; 3.2 算术转换&#xff08;类型大于int&#xff09; 1. 结构…

2023/11/28JAVAweb学习

查找哪个进程占用了该端口号 跳过某一个阶段

比特币上的有状态多重签名

无需链下通信 介绍 随着区块链和加密货币空间的发展&#xff0c;越来越需要增强安全措施来保护数字资产。 应对这一挑战的突出解决方案之一是多重签名&#xff08;多重签名&#xff09;钱包。 这些钱包在执行交易之前需要多方签名&#xff0c;从而提供额外的安全层来防止未经授…

Vue diff 算法探秘:如何实现快速渲染

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

微软Azure AI新增Phi、Jais等,40种新大模型

微软在官方宣布在Azure AI云开发平台中&#xff0c;新增了Falcon、Phi、Jais、Code Llama、CLIP、Whisper V3、Stable Diffusion等40个新模型&#xff0c;涵盖文本、图像、代码、语音等内容生成。 开发人员只需要通过API或SDK就能快速将模型集成在应用程序中&#xff0c;同时支…