本文介绍利用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需再刷新一下页面才能执行]