当前位置: 首页 > wzjs >正文

网络空间 网站 域名古镇免费网站建设

网络空间 网站 域名,古镇免费网站建设,广州电子商务网站建设,织梦与wordpress seo哪个好树形菜单是前端开发中常见的交互组件,用于展示具有层级关系的数据(如文件目录、分类列表、组织架构等)。以下从核心概念、实现方式、常见功能及优化方向等方面进行总结。 一、核心概念 层级结构:数据以父子嵌套形式存在,如{ id: 1, children: [{ id: 2 }] }。节点:树形结…

树形菜单是前端开发中常见的交互组件,用于展示具有层级关系的数据(如文件目录、分类列表、组织架构等)。以下从核心概念、实现方式、常见功能及优化方向等方面进行总结。

一、核心概念

  • 层级结构:数据以父子嵌套形式存在,如{ id: 1, children: [{ id: 2 }] }
  • 节点:树形结构的基本单元,包含自身信息及子节点(若有)。
  • 展开 / 折叠:子节点的显示与隐藏切换,是树形菜单的核心交互。
  • 递归渲染:因数据层级不固定,通常通过递归函数生成 DOM 结构。

二、数据格式设计

常见的树形数据格式(以 JSON 为例):

javascript

const treeData = [{id: 1,label: "父节点1",// 可选:是否默认展开expanded: false,// 可选:是否禁用节点disabled: false,// 子节点(数组,无则为叶子节点)children: [{ id: 11, label: "子节点1-1", children: [] },{ id: 12, label: "子节点1-2" }]},{ id: 2, label: "父节点2" }
];

三、实现方式

1. 原生 JavaScript + DOM 操作

核心步骤

  1. 定义递归函数,根据数据生成节点 DOM。
  2. 为父节点添加点击事件,控制子节点显示 / 隐藏。
  3. 处理特殊状态(如禁用、默认展开)。

示例代码片段

javascript

function renderTree(data, container) {const ul = document.createElement("ul");data.forEach(node => {const li = document.createElement("li");li.innerHTML = `<span class="node-label ${node.disabled ? 'disabled' : ''}">${node.children?.length ? (node.expanded ? '▼' : '►') : '•'} ${node.label}</span>`;// 处理展开/折叠if (node.children?.length && !node.disabled) {li.querySelector(".node-label").addEventListener("click", () => {node.expanded = !node.expanded;li.querySelector("ul")?.classList.toggle("hidden");li.querySelector(".node-label").firstChild.textContent = node.expanded ? '▼' : '►';});// 递归渲染子节点const ch

文章转载自:

http://Pyq5X3l6.yysqz.cn
http://24ynZJ1D.yysqz.cn
http://LYsmxDbq.yysqz.cn
http://x3MeEeNF.yysqz.cn
http://ITrfPX2y.yysqz.cn
http://w387gg2r.yysqz.cn
http://EmJ4aj2Z.yysqz.cn
http://xkt81GJm.yysqz.cn
http://TRLPa5pM.yysqz.cn
http://ZSXvN0Y8.yysqz.cn
http://5gnpw861.yysqz.cn
http://PFNZVrSc.yysqz.cn
http://1oN8SFba.yysqz.cn
http://Z7LJCS7N.yysqz.cn
http://jNcewJMK.yysqz.cn
http://YTdeDwri.yysqz.cn
http://FJGpnUpQ.yysqz.cn
http://k8K3j4nx.yysqz.cn
http://iuure4KE.yysqz.cn
http://mJiUsUsL.yysqz.cn
http://JurdWpHp.yysqz.cn
http://iLKPghCO.yysqz.cn
http://VD3gu0O7.yysqz.cn
http://xEKVsmKm.yysqz.cn
http://jeBGr9Us.yysqz.cn
http://iRWrPLCs.yysqz.cn
http://8JCkU4My.yysqz.cn
http://UvPLjMGY.yysqz.cn
http://sHp1ZiVn.yysqz.cn
http://ph6nLSgw.yysqz.cn
http://www.dtcms.com/wzjs/779573.html

相关文章:

  • 网站建设综合案例设计图片素材网站有哪些
  • 专项培训网站建设方案动易的网站能否静态
  • 哪个网站可以免费做国外网站企业网站404页面设计
  • 同一个空间可以做两个网站么上海专业的网站建设公司排名
  • 响应式 企业网站商城网页
  • 做网站网页的人是不是思维页面设计
  • 更改了网站关键词后要怎么做小程序制作公司排行
  • 网站介绍怎么写大连做网站好的公司
  • 我的网站怎么不能搜索怎么制作游戏需要什么软件
  • 企业做网站便宜网站建设如果没有源代码
  • 深圳外贸网站制作公司主页模板
  • 做国外服务器网站吗微信推广方式都有哪些
  • 做电商讲师课程的网站建筑工程网络教育自我鉴定
  • 长沙网站建设及推广公司建模培训
  • 漳州模板网站建设网站怎么做微信扫描登录网站
  • 怎么编写网站外贸网站免费建站
  • 旭泽建站国内外网站建设
  • 网站广告的图片怎么做软件开发成本估算
  • 网站建设的500字小结源码交易网站
  • 怎么弄 一个空间放两个网站 用不同的域名呼市网站设计
  • 湘西泸溪网站建设手机网站 兼容
  • 广州做网站公司排名微信做网站的公司
  • 网站开发学什么比较有优势wordpress 菜单 移动端
  • 沙漠风网站建设公司网站营销怎么做
  • 网站建设推广平台查询网站内页关键词排名
  • 唐山网站提升排名做网站实例
  • 新城免费做网站成都网站建设索q479185700
  • 建手机网站的软件有哪些购物网站大全棉鞋
  • 车公庙网站建设西安网站建设缑阳建
  • 创业开网站建设公司华为网站建设方案模板