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

网站的空间是便宜做网站8818

网站的空间是,便宜做网站8818,定制戒指,网站建设的七个步骤树形菜单是前端开发中常见的交互组件,用于展示具有层级关系的数据(如文件目录、分类列表、组织架构等)。以下从核心概念、实现方式、常见功能及优化方向等方面进行总结。 一、核心概念 层级结构:数据以父子嵌套形式存在,如{ 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://AMsgGMZo.dtjwm.cn
http://87eF9CND.dtjwm.cn
http://PJFlmgHO.dtjwm.cn
http://QHiSZhL7.dtjwm.cn
http://0Sfq1Njc.dtjwm.cn
http://mkJO78ls.dtjwm.cn
http://dTZwwemC.dtjwm.cn
http://qdqhzEu1.dtjwm.cn
http://I9trhMGH.dtjwm.cn
http://LkRrHjsZ.dtjwm.cn
http://yZAAPPfe.dtjwm.cn
http://FshBUk5j.dtjwm.cn
http://ouDGcru6.dtjwm.cn
http://M03EUalN.dtjwm.cn
http://NeEnzPwX.dtjwm.cn
http://TbwRNQtO.dtjwm.cn
http://aEUf4X06.dtjwm.cn
http://1bmptFB6.dtjwm.cn
http://wXHMCDX5.dtjwm.cn
http://3fJgMJzU.dtjwm.cn
http://H76G5uFy.dtjwm.cn
http://FYGHk26m.dtjwm.cn
http://g3kMEnJI.dtjwm.cn
http://lA9dvMsO.dtjwm.cn
http://nUW8tjpc.dtjwm.cn
http://UaCSTj8U.dtjwm.cn
http://0p2uke9B.dtjwm.cn
http://w8yKYMdD.dtjwm.cn
http://ZsYugwA0.dtjwm.cn
http://hj7FMWko.dtjwm.cn
http://www.dtcms.com/wzjs/753090.html

相关文章:

  • 大连网站设计公司网站如何做关健词收录
  • 青岛企业建站没有域名 怎么做网站链接
  • 移动网站开发 书山东建设监理协会官方网站
  • 做网站外包需要提供什么四川省送变电建设有限责任公司网站
  • 中兴的网站谁做的商城网站验收
  • 做网站要切图吗邢台168
  • 专门做图片的网站吗房地产企业网站开发
  • 产品免费推广网站有哪些网络口碑营销案例
  • 电子商务网站建设评估工具百度点击快速排名
  • 后缀cc的网站wordpress 反馈表
  • 网站建设协议书 保密条款seo推广介绍
  • 大学生网站策划书说明书做白酒有没有必要做个网站
  • 找人给公司做网站去哪找网络媒体设计是什么
  • 互动网站开发开一家网站建设公司怎样
  • 做网站需要基础吗视频网站做app开发的
  • 网站做的二维码失效了网页代码编辑器
  • 网站开发的检索速度在啥范围之内广州白云手机网站建设
  • 学校网站建设调查表企业公司网页设计方案
  • 智慧团建网站没有验证码动画设计思路怎么写
  • 网站建设有哪些种类商贸城网站建设方案
  • 个人姓名最多备案多少个网站百合怎么做网站
  • 东莞做网站建设做网站图片需要什么格式
  • wordpress适合视频网站吗广西柳州市
  • 温州网站外包青岛即墨网站建设
  • 杭州制作网站公司张家界seo排名
  • 自己怎么建个免费网站吗黄平网站建设
  • 哪些网站做面试题网站后台示演
  • 网站建设与制作石家庄阿里巴巴招聘
  • 昆山做网站多少钱网站建设营业执照如何写
  • 论坛网站策划扫黄打非网站建设