javascript树形菜单怎么写?

ql62811240 2010-12-15 05:07:59
麻烦问下各位高手,怎么用javascript写一个树形菜单,树形菜单里的数据是动态的,从数据库得到,我在网上找了很多,但都用不来,希望大家给我一段代码,要有注释,还有JS函数里传递的参数都要解释下,麻烦了,确实是新手,希望各位高手指教,要很详细很详细很详细很详细很详细很详细很详细很详细很详细很详细很详细很详细!!!谢谢
...全文
762 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
YnSky 2011-08-10
  • 打赏
  • 举报
回复
gggofnofn 2011-08-10
  • 打赏
  • 举报
回复
我也正在学这个,树是出来了,但是还有一个问题,我想在鼠标点到最底层子节点时,鼠标点击出现一个小窗口。<a href="javascript:open();">登陆</a><div id="login" >
<span><h1>请选择查询日期(年月日)</h1></span>
<div id="panel">
<br />
报告日期:             <lable>年 </lable><input type="text" style="width: 40px; height: 12px" />
<lable>月</lable><input type="yue" style="width: 24px; height: 12px">
<lable>日</lable><input type="yue" style="width: 24px; height: 12px">

</div>
<div id="pane2">
<br />
报告日期(选择F1帮助): <lable>年 </lable><input type="text" style="width: 40px; height: 12px" />
<lable>月</lable><input type="yue" style="width: 24px; height: 12px">
<lable>日</lable><input type="yue" style="width: 24px; height: 12px">

</div>
<br />
<br />
<input type="checkbox" /><lable>登陆</lable>

<input type="button" value="提交" />
       <input type="button" value="取消" />



<a href="javascript:close();">关闭</a>
这是我的小窗口代码,但是我不知道怎么套到根节点去???
cena_jin 2011-08-10
  • 打赏
  • 举报
回复
学习学习~~
cjfriends 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
根节点id,就触发一个js事件,ajax请求子节点数据,之后绑定到第二级菜单
http://www.open-open.com/ajax/ajax20080531234600.htm
[/Quote]

我使用的都是js控制的,呵呵,学习学习这个
huangwenquan123 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yzf86211861 的回复:]
引用 4 楼 wuyq11 的回复:
根节点id,就触发一个js事件,ajax请求子节点数据,之后绑定到第二级菜单
http://www.open-open.com/ajax/ajax20080531234600.htm

您访问的 网址不存在
[/Quote]不会啊!存在!http://www.open-open.com/ajax/ajax20080531234600.htm
yzf86211861 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
根节点id,就触发一个js事件,ajax请求子节点数据,之后绑定到第二级菜单
http://www.open-open.com/ajax/ajax20080531234600.htm
[/Quote]
您访问的 网址不存在
wuyq11 2010-12-15
  • 打赏
  • 举报
回复
根节点id,就触发一个js事件,ajax请求子节点数据,之后绑定到第二级菜单
http://www.open-open.com/ajax/ajax20080531234600.htm
hu350560615 2010-12-15
  • 打赏
  • 举报
回复
你可以这么写树:
function Node(id, pid, name, url, title, target, icon, iconOpen, open) {

this.id = id;

this.pid = pid;

this.name = name;

this.url = url;

this.title = title;

this.target = target;

this.icon = icon;

this.iconOpen = iconOpen;

this._io = open || false;

this._is = false;

this._ls = false;

this._hc = false;

this._ai = 0;

this._p;

};



// Tree object

function dTree(objName) {

this.config = {

target : null,

folderLinks : true,

useSelection : true,

useCookies : true,

useLines : true,

useIcons : true,

useStatusText : false,

closeSameLevel : false,

inOrder : false

}

this.icon = {

root : '../img/root.gif',

folder : '../img/folder.gif',

folderOpen : '../img/folderopen.gif',

node : '../img/node.gif',

empty : '../img/empty.gif',

line : '../img/line2.gif',

join : '../img/join.gif',

joinBottom : '../img/joinbottom.gif',

plus : '../img/plus.gif',

plusBottom : '../img/plusbottom.gif',

minus : '../img/minus.gif',

minusBottom : '../img/minusbottom.gif',

nlPlus : '../img/nolines_plus.gif',

nlMinus : '../img/nolines_minus.gif'

};

this.obj = objName;

this.aNodes = [];

this.aIndent = [];

this.root = new Node(-1);

this.selectedNode = null;

this.selectedFound = false;

this.completed = false;

};
这是定义的一部分,其他的你自己来定义,加进去就好了。需要动态的话,定义一个div,用innnerHtml输出,转成字符串后,读出来的东西加进去就好了。
flyerwing 2010-12-15
  • 打赏
  • 举报
回复
再说下:那些事情都是控件大师架构师控件师分析师,CTO,WTO等做的大事情,楼主肯定是做不了的,如果楼主都做了他们器不是什么都不用做了?
再说了楼主也没拿干那个事情的薪水吧(估计是了),好好劳动
flyerwing 2010-12-15
  • 打赏
  • 举报
回复
html标记加写样式用JS动态控制他们就OK了吧.
那么多免费的自己写多费神还浪费时间精力;并且没有经济效益.

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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