求JavaScript树形菜单的用法

cderme 2012-10-21 06:37:55
网上找了一段树形菜单的代码:

http://ps.xx9000.com/shu.html

这是个例子,样式和js代码都在源代码能看到

我怎么改成我想要的菜单的名字和链接?

貌似应该在for循环那边修改,新手,不大懂啊,求教
...全文
180 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
第三视角777 2012-10-21
  • 打赏
  • 举报
回复
我这里有一个源码 http://download.csdn.net/detail/software0116/4624749 通过数据库配置就能动态的设置你想要的名字以及链接
泡泡鱼_ 2012-10-21
  • 打赏
  • 举报
回复
function dada(r){
var da=[],a=[],b=[];
/*
每个菜单项由以下几部份组成:{'id':3,'ming':'菜单3','link':'http://bbs.csdn.net/','pid':Number || Array}
pid这个参数比较特殊:
1:当前菜单下有子节点时,pid存储的是其所有字节点,以数组方式存在,数组中的每个元素又是上面的对象形式
2:当前菜单下无子节点时,pid可以是任意一个数字,因为pid的唯一作用就是用来存储子节点的,当它为数字时不做任何处理,只输出菜单项
*/
//下面这种是以数组先存储好子节点,要使用时肯定是以这种方式了,只是需要根据你具体的需求再做一些处理就是了
a.push({'id':3,'ming':'菜单3','link':'http://bbs.csdn.net/','pid':0});
a.push({'id':4,'ming':'菜单4','link':'http://bbs.csdn.net/','pid':0});
b.push({'id':2,'ming':'菜单2','link':'http://bbs.csdn.net/','pid':a});
a=[];
da.push({'id':1,'ming':'菜单1','link':'http://bbs.csdn.net/','pid':b});
b=[];

//下面这种是先存储好每个菜单,然后有需要时再组合
var m1,m2,m3;
m1={'id':7,'ming':'菜单7','link':'http://bbs.csdn.net/','pid':0};
m2={'id':8,'ming':'菜单8','link':'http://bbs.csdn.net/','pid':0};
m3={'id':6,'ming':'菜单6','link':'http://bbs.csdn.net/','pid':[m1,m2]};
da.push({'id':5,'ming':'菜单5','link':'http://bbs.csdn.net/','pid':[m3]});
return da;
}
泡泡鱼_ 2012-10-21
  • 打赏
  • 举报
回复
这个树型代码用得有点别扭,构造树时序列方式是严格从下往上的,构造这些菜单项时,要注意编排好

function dada(r){
var da=[],a=[],b=[];
/*
每个菜单项由以下几部份组成:{'id':3,'ming':'菜单3','link':'http://bbs.csdn.net/','pid':Number || Array}
pid这个参数比较特殊:
1:当前菜单下有子节点时,pid存储的是其所有字节点,以数组方式存在,数组中的每个元素又是上面的对象形式
2:当前菜单下无子节点时,pid可以是任意一个数字,因为pid的唯一作用就是用来存储子节点的,当它为数字时不做任何处理,只输出菜单项
*/
//下面这种是以数组先存储好子节点,要使用时肯定是以这种方式了,只是需要根据你具体的需求再做一些处理就是了
a.push({'id':3,'ming':'菜单3','link':'http://bbs.csdn.net/','pid':0});
a.push({'id':4,'ming':'菜单4','link':'http://bbs.csdn.net/','pid':0});
b.push({'id':2,'ming':'菜单2','link':'http://bbs.csdn.net/','pid':a});
a=[];
da.push({'id':1,'ming':'菜单1','link':'http://bbs.csdn.net/','pid':b});
b=[];

//下面这种是先存储好每个菜单,然后有需要时再组合
var m1,m2,m3;
m1={'id':7,'ming':'菜单7','link':'http://bbs.csdn.net/','pid':0};
m2={'id':8,'ming':'菜单8','link':'http://bbs.csdn.net/','pid':0};
m3={'id':6,'ming':'菜单6','link':'http://bbs.csdn.net/','pid':[m1,m2]};
da.push({'id':5,'ming':'菜单5','link':'http://bbs.csdn.net/','pid':[m3]});
return da;
}
重学编程 2012-10-21
  • 打赏
  • 举报
回复
for(var i=1;i<8;i++){
if(r<2)
da.push({'id':i,'ming':'菜单'+r+'_'+i,'link':i,'pid':dada(r+1)});
else
da.push({'id':i,'ming':'菜单'+r+'_'+i,'link':i,'pid':r});
}
好像就是这个循环里把菜单换成变量应该就行了

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧