首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在点击时关闭其他子菜单

在点击时关闭其他子菜单,可以通过以下步骤实现:

  1. 首先,需要给每个子菜单添加一个点击事件的监听器。
  2. 在点击事件的处理函数中,首先获取到所有的子菜单元素。
  3. 遍历所有子菜单元素,判断当前子菜单是否为被点击的子菜单。
  4. 如果是被点击的子菜单,则保持该子菜单的状态为打开。
  5. 如果不是被点击的子菜单,则关闭该子菜单。
  6. 关闭子菜单的方式可以是隐藏子菜单元素,或者移除子菜单元素。
  7. 最后,确保在点击其他地方时,所有子菜单都被关闭。

以下是一个示例代码:

HTML:

代码语言:txt
复制
<div class="menu">
  <div class="submenu">子菜单1</div>
  <div class="submenu">子菜单2</div>
  <div class="submenu">子菜单3</div>
</div>

JavaScript:

代码语言:txt
复制
// 获取所有子菜单元素
var submenus = document.getElementsByClassName('submenu');

// 给每个子菜单添加点击事件监听器
for (var i = 0; i < submenus.length; i++) {
  submenus[i].addEventListener('click', function() {
    // 遍历所有子菜单元素
    for (var j = 0; j < submenus.length; j++) {
      // 判断当前子菜单是否为被点击的子菜单
      if (submenus[j] === this) {
        // 保持该子菜单的状态为打开
        submenus[j].classList.add('active');
      } else {
        // 关闭其他子菜单
        submenus[j].classList.remove('active');
      }
    }
  });
}

// 在点击其他地方时关闭所有子菜单
document.addEventListener('click', function(event) {
  var target = event.target;
  // 判断点击的目标是否为子菜单或子菜单的父元素
  if (!target.classList.contains('submenu') && !target.classList.contains('menu')) {
    // 关闭所有子菜单
    for (var k = 0; k < submenus.length; k++) {
      submenus[k].classList.remove('active');
    }
  }
});

CSS:

代码语言:txt
复制
.submenu {
  display: none;
}

.submenu.active {
  display: block;
}

在上述示例代码中,我们给每个子菜单元素添加了一个名为"submenu"的类,并且使用CSS将其默认隐藏。在点击事件的处理函数中,通过判断当前子菜单是否为被点击的子菜单,来决定是保持该子菜单的状态为打开,还是关闭其他子菜单。最后,我们通过在document上添加点击事件监听器,来实现在点击其他地方时关闭所有子菜单的功能。

请注意,上述示例代码仅为演示如何在点击时关闭其他子菜单,并不包含实际的菜单样式和具体的应用场景。在实际开发中,您需要根据具体的需求和设计来进行相应的修改和调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Material Design — 菜单(Menus)

菜单栏通常使用单个单词作为标签,“文件”,“格式”和“编辑”。其他上下文可能需要更长的标签。 禁用菜单选项 菜单显示一组一致的菜单项。...具有动态内容的菜单可能具有其他行为,例如:将先前使用的字体放在菜单的顶部;订单可以根据用户操作进行更改。 菜单嵌套 菜单项可以显示嵌套的菜单。...理想情况下,嵌套的层级都需要做显示,因为很难用嵌套多层的菜单进行导航。 ? 菜单项例子 不可用的操作 将操作显示为不可用(置灰)而不是将其删除,让用户知道它们可以在正确的条件下存在。...将菜单放置在触发菜单元素的下方会将其与上下文环境分开(如下图)。 ? 关闭菜单 可以通过点击菜单外部或点击触发菜单的元素(如果可见)来关闭菜单。 选择一个菜单项后也应该关闭菜单。...·内容可滚动菜单一直显示滚动条。 ·简单菜单的最大高度应小于页面高度的一行或多行。 这确保了可点击简单菜单之外的区域来关闭菜单。 ·不在菜单中重复展示已选项(同Menus)。

5.8K100
  • N1盒刷OpenWRT软路由系统结合内网穿透实现公网访问本地路由器

    N1盒刷OpenWRT软路由系统结合内网穿透实现远程访问 前言 本文主要介绍如何在N1盒原系统刷入OpenWRT软路由系统,并结合cpolar内网穿透工具轻松实现公网访问管理本地刷好OpenWRT软路由系统的...点击U盘分区工具,选择要刷入固件的U盘,右键选择删除所有分区: 然后点击保存更改,选择是: 然后关闭这个软件,打开U盘写盘软件: 该软件下载后为安装程序,双击打开后点击我同意即可一键安装: 安装后,双击图标进入...此时会提示输入N1盒的内网IP地址,本例中为192.168.50.137(大家操作需要输入自己盒子的内网IP地址),点击回车: 然后会看到已经成功连接,并按任意键开始N1降级的提示,点击回车即可:...盒的内网IP,这里我再次输入192.168.50.137,然后回车: 此时,我们能看到提示盒子已经重启,关闭这个软件即可。...首先SSH登陆N1盒OpenWRT: 此处我使用Windows PowerShell 来SSH登陆 N1盒的OpenWRT系统,大家也可以使用其他的shell工具。

    33210

    html设置ie9兼容性视图,ie9兼容性设置在哪里 IE兼容性视图在哪里设置?「建议收藏」

    找不到“兼容性视图设置”菜单何在360浏览器 IE9上设置兼容性视图 还有一种方法打开菜单栏,就是鼠标右键点击上方的空白处,选择“菜单栏”,然后菜单栏就显示“工具”。...3,进入兼容性视图设置之后,填入你所需要设置兼容模式的网址,点击添加,最后点击关闭即可。 4,重新打开经过设置之后的网页。 IE兼容性视图在哪里设置?...在IE浏览器主界面,点击菜单栏上的工具菜单。 弹出的工具菜单选项,点击选择兼容性视图设置进入。...另外可以通过打开网站后按F12选择浏览模式来达到兼容的目的 IE9如何显示菜单栏,设置兼容模式ie9不像ie8可以点击设置添加兼容模式,ie9打开ie后按alt,然后在右上角会出现菜单栏,点击工具兼容性设置即可...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.2K20

    EXT.NET复杂布局(四)——系统首页设计(上)

    左侧面板——组织机构(通常放功能菜单)。 右侧面板——联系人或其他信息。 中央区域——工作台。主要用于日常工作维护以及快捷操作。 顶部面包和右侧面板没啥好说的。接下来就说说功能吧。...左侧面板 左侧面板其实是相当重要的一块,在平常系统设计中,往往把功能菜单放在左侧。这里类似。不仅支持分组折叠,还支持无限极菜单,美观而灵活。 ? 当点击节点,会显示在Tab页中。 ?...整个工作台布局也是采用折叠面板,不过当展开某个面板,会刷新数据。默认加载,并不需要加载所有数据。 就拿待处理事务来说: ? 通过工具栏按钮,可以方便对事务进行操作(别忘了判断权限)。...点击退回操作: ? 通过数据行中的操作列按钮,可以方便查看表单内容,当表单关闭,刷新工作台。 总之,只会显示一个操作面板。 ? 最后 整个页面是自适应的,会随着浏览窗口大小自适应,: ?...点子页面弹出表单可以最大化,: ? 当你点击表单里面的提交按钮(假设存在),提交完后,可以关闭表单,父页面也可以触发操作,关闭弹出的表单: ? 先写到这里吧,下篇再细谈。到时奉上DEMO。

    88130

    如何关闭 YouTube 上的受限模式

    2.点击屏幕顶部的用户个人资料照片。3.在下拉菜单中选择管理您的 Google 帐户。4.点击个人信息选项卡。5.在“基本信息”下将您的生日更新为正确的日期,然后选择“保存”。...如何在手机(Android 和 iPhone)上关闭 YouTube 的受限模式打开并访问手机上的 YouTube 应用。然后登录您的帐户。单击应用程序右上角的用户配置文件选项,访问用户设置菜单。...进入设置菜单后,点击常规选项。最后,您将找到一个用于打开/关闭受限模式的切换选项。蓝色开关表示受限模式已打开,灰色按钮表示受限模式已关闭。...点击下拉菜单并选择受限模式。弹出一个框后,查看底部并关闭“受限模式”。一旦关闭,蓝色开关将变为灰色。您在带有过滤器的桌面或网络上关闭 YouTube 的受限模式可能会遇到问题。...一般来说,大学、公共图书馆以及公共场所共享的其他网络和设备会在 PC 上打开受限模式以避免任何滋扰。

    4.9K20

    【愚公系列】2023年10月 WPF控件专题 Expander控件详解

    一、Expander控件详解WPF中的Expander控件是一个可折叠的控件,可以用来显示或隐藏其控件。当用户单击Expander控件的标题,其控件将会打开或关闭。...Expander控件的属性和事件如下:属性:Header:Expander控件的标题IsExpanded:控制控件的打开或关闭状态事件:Expanded:当控件打开发生Collapsed:当控件关闭发生下面是一个...当用户单击控件的标题控件将会打开或关闭,并显示或隐藏StackPanel中的所有按钮。1.属性介绍WPF中Expander控件是一个可展开的区域,通常用于显示或隐藏可选内容。...显示和隐藏菜单:Expander控件可以用来隐藏和显示具有菜单菜单项。当用户单击菜单,可以展开菜单,然后再次点击相同的菜单项可以将其收起。...例如,展开一个选项卡的Expander控件,可以关闭其他选项卡的Expander控件,以便有更多的空间去显示当前选项卡的内容。窗口内的面板控制:Expander控件可以用来控制窗口中的面板。

    81631

    JMeter英文版界面介绍

    本文将基于英文版界面对整个可视区域进行介绍,如果想看中文版,请在菜单点击Choose Language切换: ? 启动后的界面分为3个区域: ? ①是目录树,②是元件编辑区,③是工具栏。...⑩禁用或启用元件,如果是目录树中的父节点,那么其节点也会一同被禁用。在调试可以用这个功能! ⑪运行测试计划。 ⑫运行测试计划,忽略定时器。 ⑬停止,直接把所有线程停掉,类似于“杀进程”。...⑭关闭,等当前线程执行完成后结束线程。 停止和关闭点击后会弹出相同的对话框,从实际效果来看,停止比关闭的结束速度更快: ? ⑮清除响应数据,比如察看结果树、聚合报告,但不会清除日志控制台。...22错误日志个数,点击后会打开日志控制台。 23正在运行线程数/总线程数。 24运行状态,运行测试计划后变绿色。 菜单菜单栏除了工具栏那些功能,还有更丰富的其他功能。 文件 ?...如果不适应英文版,那么也可以在菜单栏中切换到中文版使用。最后给出了元件常见使用场景,包括添加步骤、参数化、关联、压测场景设置、同一刻发送请求、控制业务逻辑。

    1.2K20

    【译】W3C WAI-ARIA最佳实践 -- 表单

    当用户激活菜单中的选项菜单通常会关闭,除非是打开菜单。 持续可见的菜单是 menubar。...+ Enter: - 当焦点位于一个具有菜单的 menuitem 上,打开菜单并将焦点放在其菜单的第一个项目上。 - 否则,激活该项目并关闭菜单。...- (可选):当焦点位于未选中的menuitemradio上,不会关闭菜单,选中聚焦的 menuitemradio,并取消选中同一组中的任何其他已选中的 menuitemradio 元素。...- 当焦点在菜单中一个项目的菜单关闭菜单并将焦点返回给父级menuitem。 - 焦点在 menubar 栏中的一个项目的菜单,执行以下3个操作: 1. 关闭菜单。 2....当按钮被打开,该状态属性的值为 true,当被关闭,该状态属性的值为false。 示例 按钮示例:将可点击的HTML div 和 span 元素作为可访问命令和切换按钮的示例。

    8.2K30

    JMeter实战(三) 界面使用

    本文演示的是英文版,想用中文的同学可以在菜单点击 Choose Language 切换哦: ? 启动 JMeter (5.3 版本) 后,会看到这样的界面,共 3 个区域: ?...禁用或启用元件,如果是父节点,那么其节点也会一同被禁用 启动运行测试计划 启动运行测试计划,忽略定时器 停止,直接把所有线程停掉,类似于“杀进程” 关闭,等当前线程执行完成后结束线程...“停止”或“关闭”在点击后会弹出相同的对话框,从实际效果来看,停止比关闭更快: ?...帮助文档 执行耗时,精度为秒 错误日志个数,点击后会打开日志控制台 正在运行线程数 / 总线程数 运行状态,启动运行测试计划后变绿色 左上角 菜单菜单栏和工具栏有些功能是重叠的...Edit 选中测试计划、线程组或其他元件,Edit 菜单略有不同,这里以线程组为例进行介绍,其他相差不大: ? Search ? Run ? Options ? Tools ?

    95030

    PDF编辑软件Acrobat软件中文版下载,Acrobat软件2023版安装教程

    2.断开网络连接(关闭WIFI或是拔掉网线)。 3.解压后,双击运行安装程序。 4.点击继续。 5.注意看系统要求,点击继续。 6.点击安装。 8.输入你的电脑开机密码,点击好。...9.软件安装中…… 10.安装成功,点击关闭。 Acrobat如何解密pdf文件 Acrobat是一款由Adobe公司开发的PDF文档处理软件,可以让用户创建、编辑、转换、签署和分享PDF文档。...下面将介绍如何在Acrobat中解密PDF文件。 首先,打开需要解密的PDF文件。如果PDF文件有密码保护,那么在打开文件需要输入密码才能访问其中的内容。...接着,点击Acrobat菜单栏中的“文件”选项,然后选择“属性”命令。在弹出的属性对话框中,选择“安全”选项卡。 在“安全方法”下拉菜单中,选择“没有安全设置”选项。...然后,点击“确定”按钮关闭属性对话框。 此时,Acrobat会提示你是否要保存对PDF文件的更改。如果需要保存,可以选择“是”按钮进行保存;如果不需要保存,可以选择“否”按钮关闭提示窗口。

    3.4K30

    分享5个关于 Vue 的小知识,希望对你有所帮助

    这就需要检测用户是否点击了元素的外部,如果是,那么就触发一个函数来关闭下拉菜单或模态窗口。...上下文菜单(Context Menu):在右键打开的上下文菜单中,当用户点击菜单外的其他地方,通常需要关闭这个菜单。...同样可以使用这个自定义指令来监听点击事件,并在点击事件发生在菜单外部关闭上下文菜单。 工具提示(Tooltip):工具提示也有类似的需求。...当工具提示展示,如果用户点击了工具提示以外的其他地方,我们通常希望工具提示会消失。...搜索自动完成(Search Autocomplete):在搜索框输入时,会出现一个自动完成的下拉菜单。当用户在选中某个搜索建议或者点击搜索框以外的地方,我们通常需要关闭这个自动完成的菜单

    21630

    CodeWave系列:3.CodeWave 智能开发平台 页面布局及呈现

    **下拉菜单:**提供弹出式的下拉菜单项可供选择,通常用于应用导航,通过下拉菜单项可快速浏览应用。 3.2 容器 页面容器: 每个页面生成的时候均会自带一个页面容器,用于展示页面内容。...数据表格通常用于以下场景: 当用户需要存储、组织和分析结构化数据,数据表格可以清晰地展示出数据的所有相关属性。 具体常见场景说明请参见如何在表格中展示实体数据。...组件列表: 当在组件列表中拖入其他组件,可以根据组件列表绑定的数据源动态展示其他组件的数量和内容。组件列表通常用于用户需要根据列表动态展示N 个相同组件,展示商品的多种标签。...注:只有自由布局组件内的一级组件才具有自由布局的特性,组件内的其他组件仍然遵循自身的布局规则。...notFound(找不到页面):找不到页面跳转的页面。 本节介绍如何设置默认跳转页和设置页面跳转。 选中欢迎页,右键点击出现菜单,选择设为默认跳转页。

    26510

    在Win7的IIS上搭建FTP服务及用户授权

    其实IIS不仅可以提供Web服务,还可以提供其他服务,网络新闻服务(NNTP)、简单邮件传输服务(SMTP),当然还有文件传输服务(FTP)。只是在IIS上,用得最多的是Web服务。...在IIS中添加FTP站点 1、在“管理工具”的“Internet信息服务(IIS)管理器”中,选中服务器,点击右键菜单中的“添加FTP站点…”菜单项; 2、在“添加FTP站点”对话框的“FTP站点名称...为了方便,我们在Windows系统中添加一个名为“FTPUser”的用户,在“开始菜单”中选择“计算机”,点击右键菜单中的“管理”菜单, 打开“本地用户和组”的“用户”节点: ?...4、回到Windows资源管理器,进入“ftp://127.0.0.1/开发文档”文件夹,点击右键菜单的“登录”菜单,弹出“登录身份”对话框,输入用户名ftpuser和对应的密码,点击“登录”按钮登录...在资源管理器中,选定相关的文件夹,点击右键菜单中的“属性”菜单,弹出“属性”对话框,却换到“安全”tab页: ? 点击“编辑”按钮,弹出权限编辑对话框,输入ftpuser,并“检查名称”: ?

    2.4K10

    在Win7的IIS上搭建FTP服务及用户授权

    其实IIS不仅可以提供Web服务,还可以提供其他服务,网络新闻服务(NNTP)、简单邮件传输服务(SMTP),当然还有文件传输服务(FTP)。只是在IIS上,用得最多的是Web服务。...在IIS中添加FTP站点 1、在“管理工具”的“Internet信息服务(IIS)管理器”中,选中服务器,点击右键菜单中的“添加FTP站点…”菜单项; 2、在“添加FTP站点”对话框的“FTP...为了方便,我们在Windows系统中添加一个名为“FTPUser”的用户,在“开始菜单”中选择“计算机”,点击右键菜单中的“管理”菜单, 打开“本地用户和组”的“用户”节点: ?...4、回到Windows资源管理器,进入“ftp://127.0.0.1/开发文档”文件夹,点击右键菜单的“登录”菜单,弹出“登录身份”对话框,输入用户名ftpuser和对应的密码,点击“登录”按钮登录...在资源管理器中,选定相关的文件夹,点击右键菜单中的“属性”菜单,弹出“属性”对话框,却换到“安全”tab页: ?

    2.7K90

    在Win7的IIS上搭建FTP服务及用户授权

    其实IIS不仅可以提供Web服务,还可以提供其他服务,网络新闻服务(NNTP)、简单邮件传输服务(SMTP),当然还有文件传输服务(FTP)。只是在IIS上,用得最多的是Web服务。...“添加FTP站点…”菜单项; 2、在“添加FTP站点”对话框的“FTP站点名称”中输入你所期望的站点名称,并选择你期望用来存放文件的“内容目录”: 3、点击“下一步”按钮,进入IP地址绑定和SSL设置...为了方便,我们在Windows系统中添加一个名为“FTPUser”的用户,在“开始菜单”中选择“计算机”,点击右键菜单中的“管理”菜单, 打开“本地用户和组”的“用户”节点: 添加用户名为“ftpuser...4、回到Windows资源管理器,进入“ftp://127.0.0.1/开发文档”文件夹,点击右键菜单的“登录”菜单,弹出“登录身份”对话框,输入用户名ftpuser和对应的密码,点击“登录”按钮登录...在资源管理器中,选定相关的文件夹,点击右键菜单中的“属性”菜单,弹出“属性”对话框,却换到“安全”tab页: 点击“编辑”按钮,弹出权限编辑对话框,输入ftpuser,并“检查名称”: 点击“确定

    3.9K60
    领券