日期:2014-05-19  浏览次数:20685 次

老项目中的树形菜单的改进问题,谢谢。
如下图的设计,这是一个树形菜单,但是研究数据库之后发现,这些数据全部都是存在数据库中的,
他数据库中有一个标识字段,比如高中、初中、小学是第一级菜单,下面的是第二级、第三级,
估计程序中在做个判断,所以会形成如下的树形结构。

不过,本人怎么都觉得这样设计怪怪的,请问各位有没更好的设计啊,不搞成树形菜单也可以,本人比较讨厌树形菜单,而且东西很多的时候 要拉很长。。
谢谢、。





------解决方案--------------------
我觉得这个树形很好啊,需求中本身的数据结构是怎么样的呢?
------解决方案--------------------
如果项目数量众多的话,基本上只能是树型菜单或其变种;比如另一种替代方案是类似于智能手机(iPhone之类)的左右换页方式。

关于结构,基本上主要是两类结构:
1、层级编码结构,每层编码固定,层次之间根据上级编码一致性来匹配,类似于:xxx xxxooo xxxoooyyy
2、父子节点id,类似于:myId, parentId

其实都各有优缺点,看场景选用吧。
------解决方案--------------------
给你推进一个插件:jquery的ztree!网上搜下吧 很好用很强大 支持异步加载大数量数据什么的
------解决方案--------------------
你期望的效果不难实现。

但其实如3楼所说,用些成熟的菜单组件应该还更方便些。

在数量众多情况下,很多菜单组件还支持动态加载子节点,避免一次性装载千把个菜单而导致反应迟钝。
------解决方案--------------------
探讨

这个是CSDN 的节点?引用:
HTML code


<html>
<head>
<script>
function getChild(imageObject)
{
var tableTree = document.getElementById("tableTree");
v……