JS+CSS实现点击隐藏层与展开层的互斥逻辑

作者:窗边听雨

时间:2026-10-29

浏览:454

本文介绍利用JavaScript全局变量记录当前展开元素状态,结合CSS控制层显隐的交互方案。通过点击事件触发状态切换,实现点击新层时自动隐藏原层的效果,确保界面同时仅展示一个内容区域。

文章目录

基于全局变量的层显隐互斥逻辑

为了实现点击不同层时仅保留一个展开状态的交互效果,可以使用一个全局变量来保存当前已打开的元素引用。在每次触发点击事件时,先检查该变量指向的元素,若存在则将其隐藏,随后更新全局变量为当前被点击的元素并显示它。


HTML结构与代码示例

  <div id="myc">   <div class="changemeun"> <div class="a1"> 学院信息</div>  <div class="a2">先进性教育</div> <div class="a3">招生信息</div>  <div class="a4">最新讲座</div>  <div class="a5">学校活动</div>   </div>   <div  id="menu_1" style="DISPLAY: none" class="list_a1">1货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboB 货币转换,下图显示了这个程序组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目,  </div>   <div  id="menu_2" style="DISPLAY: none" class="list_a2">2货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboB 货币转换,下图显示了这个程序组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目,  </div>   <div  id="menu_3" style="DISPLAY: none" class="list_a3">3货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboB 货币转换,下图显示了这个程序组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目,  </div>  <div  id="menu_4" style="DISPLAY: none" class="list_a4">4货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboB 货币转换,下图显示了这个程序组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目,  </div> <div  id="menu_5" style="DISPLAY: none"  class="list_a5">5货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboB 货币转换,下图显示了这个程序组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例组件实例(Button, ComboB 货币转换,下图显示了这个程序子只进行简单的 把元素放在下面的目录下,在创币转换应用程序这个例 所需的界面,包括一些UI组件实例(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数(Button, ComboBox, Label, TextArea, and TextInput)。在这个应用程序中,用户必须输入一个加拿大元的数目,  </div> </div>

执行注意事项

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章