JavaScript实例:li元素的动态隐藏与显示
在本文档中,我们将深入探讨如何使用JavaScript来控制HTML列表项(li)的隐藏和显示。这个实例是针对一个网页设计中常见的需求,即动态管理一个多级菜单或导航列表,以便根据用户的交互展示或隐藏不同的内容。HTML结构包含一个`.favorite_list`容器,其中包含两个部分:`.list_type`和`.list_content`。`.list_type`下是一个无序列表(ul),列出了多个选项,如钢琴谱、钢琴曲等,每个选项都有一个链接,通过`onclick`事件触发`showli()`函数。 `showli()`函数是我们关注的核心,它接受一个参数,如`1`、`60`、`525`等,代表不同类别的编号。这个函数的具体实现未在提供的内容中给出,但可以推测它会根据传入的参数来切换对应的`li`元素的可见性。比如,当`showli(60)`被调用时,所有不是类别60的`li`会被隐藏,而类别60的`li`及其子级(如果有)会显示出来。 `list_content`下的`.navigation`也是一个无序列表,可能用来展示根据用户选择展开的详细内容。每个`li`元素都有一个`parentid`属性,这表明它们之间的父子关系,可能是用于递归地处理多级菜单的显示逻辑。 为了实现这样的功能,你需要编写`showli()`函数,可能使用以下步骤: 1. 获取传入参数对应的`li`元素,例如,如果`$r[parentid]`等于传递的类别编号,获取对应的`<li>`元素。 2. 判断当前元素以及其所有子元素是否已经显示(可能是通过检查它们的`style.display`属性为`none`来判断)。 3. 如果需要隐藏其他非目标类别的元素,遍历`.list_type`中的所有`li`,将它们的`display`属性设置为`none`。 4. 如果需要显示目标类别的元素,将其及其子元素的`display`属性设置为`block`,同时确保父级元素(如`li[id="t1"]`)的子菜单正确折叠或展开。 5. 如果存在递归结构,可能需要递归调用`showli()`函数,以处理嵌套的`li`元素。 总结来说,这篇文章提供了一个基本的JavaScript控制HTML列表项显示和隐藏的实例,通过动态调整`li`元素的CSS `display`属性来实现菜单的层次式动态展示。这对于构建响应式的用户界面和提供更好的用户体验非常有用。具体实现时,你需要根据实际项目需求对`showli()`函数进行定制,可能还需要考虑兼容性和性能优化。
![](https://csdnimg.cn/release/download_crawler_static/12992430/bg1.jpg)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 10
- 资源: 958
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)