求助:求一个树,三层即可(详见内文)

79cy 2004-01-12 02:40:47
首先声明:本人JAVASCRIPT基础不是很好,所以请大家回复时最好是代码加讲解,我的树和普通树有个区别就是,节点的value和text值程序中另有用途,所以请大家给些指点。本人经过突击倒是利用下拉列表框做了一个树,不过视觉效果不是很好,请各位能给予帮助。例子是节点value="123"text="abc",谢谢帮忙!
...全文
31 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
79cy 2004-01-16
  • 打赏
  • 举报
回复
TO lsaturn(土星-站了一晚)
演示是不错啊,可以是DREAMWEAVER,我这里没有啊,因为这些分数已经预先承诺给阿酷了,请你去我的散分贴领些分吧,快过年了,今天先结贴吧。
lsaturn 2004-01-15
  • 打赏
  • 举报
回复
http://www.blueidea.com/articleimg/2003/09/804/index.htm
ricky460 2004-01-13
  • 打赏
  • 举报
回复
图片是可以换的 。 。 。
你只要自己修改一下其中RedrawNode()函数里面的显示代码就可以了。。。
比如:
if(node[0])//如果此节点为打开状态
strHtml += "<img align='absmiddle' class = 'MyImg' src = 'images/tree/open_normal.gif' onclick = SelNode('"+node[3]+"');>";

里面的<img>链接你就可以去掉 ,这是连接一个打开的文件夹图片的,你可以换成其他的图片,或者干脆不要。。。。 。 。

还有leftside = leftside + "<img align='absmiddle' src = 'images/tree/line_v.gif'>" ;
里面的line_v.gif指的就是节点连接竖线 。 。 。 你也可以自己替换掉 。 。 。 。

但需要注意对齐 。。。。。。
79cy 2004-01-13
  • 打赏
  • 举报
回复
本贴分数已经允诺送给阿酷,请后进入者在http://expert.csdn.net/Expert/topic/2656/2656765.xml?temp=.8824427中
领分,将酌情给这些参与者较多的分数
aoenzh 2004-01-13
  • 打赏
  • 举报
回复
up
79cy 2004-01-13
  • 打赏
  • 举报
回复
TO阿酷:
我想知道能不能不用图片实现,用无序列表的树你有没有啊,这些树中的图片可不可以替换掉啊,比如节点不用图片,节点间的联线用“.”代替一下。
79cy 2004-01-13
  • 打赏
  • 举报
回复
To阿酷:
十分感谢,树已经收到,我正在看,预计下午能看完,下午调试无误就结帖。最迟明天,两个帖子全部结帐。
ricky460 2004-01-13
  • 打赏
  • 举报
回复
我创建一个新节点的代码如下:

function NewNode(name,id,Optr,HasChild)
{
var newArray = new Array();
newArray[0] = 0 ;
newArray[1] = HasChild ;
newArray[2] = name ;
newArray[3] = id ;
newArray[4] = Optr ;

return newArray ;
}
我的这个树是用来显示任务的,一个总任务对应着多个子任务, 而且每个任务对应着一个操作员 ,
从上面可以看出,一个节点里已经存放了5个变量 ,其中newArray[3]存放是此任务在任务表中的Id号,newArray[4]存放的是执行此任务的操作员 。 。 。你可以自己修改一下。以满足自己的需要 。 。 。
理论上 , 你可以在一个节点存放任意数量的变量 。 。 。

还有任何问题 , 请Email给我。。。我给你详细解答 。 。 。
ricky460 2004-01-13
  • 打赏
  • 举报
回复
树已经发到了你的信箱里面 。 。 。 。

这个树是自己做的,所以会比较了解一些。。。

原本这个树是没有任何注释的 , 应你所需, 我特意加上了不少注释。。

希望对你有所帮助 。 。 。

树节点的增加是非常方便的 ,利用AppendChild(parentNode,childNode),

就能够很方便的建立起多级别的父子关系 。 。 。

详细见演示 。 。 。
79cy 2004-01-13
  • 打赏
  • 举报
回复
TO阿酷:
我要说的是,因为我的JAVASCRIPT是用别的工具动态写入的,你的以下代码中这些变量
看来必须得脚本中已经确定了几个节点就要有多少变量啊。


taskTree = NewNode("总任务",0,"黄俊峰",1);
var part1 = AppendChild(taskTree,NewNode("任务一",1,"李二",1));
var part3 = NewNode("任务a",3,"王一",1);
AppendChild(part1,part3);
AppendChild(part3,NewNode("任务x",4,"黑1",0));
AppendChild(part1,NewNode("任务b",5,"王二",0));
var part2 = AppendChild(taskTree,NewNode("任务二",2,"李三",1));
AppendChild(part2,NewNode("任务c",6,"赵一",0));
AppendChild(part2,NewNode("任务d",7,"赵二",0));
79cy 2004-01-13
  • 打赏
  • 举报
回复
TO阿酷:
关于图标问题已经基本能理解了,我的树有5,6个一级节点,你的树能行吗,把他们的ID都设为0会不会产生异常?
79cy 2004-01-13
  • 打赏
  • 举报
回复
TO阿酷:
好,我去试试。谢谢!
79cy 2004-01-12
  • 打赏
  • 举报
回复
TO 阿酷:
如果你能发给我,我愿将这里的分都给你,不够,外面还有个帖子是我发的,那里的分数也送给你,我的信箱79cy@163.com,希望能有些详细的讲解和完整的代码,调试成功后马上结帖。
79cy 2004-01-12
  • 打赏
  • 举报
回复
TO数字金刚:
我不是懒的写,实在是JAVASCRIPT我只看了几天而已,所以对于树方面完全摸不到头绪。
我也查过一些树的资料,比如阿信的网站,感觉好象他必须用VALUE值作为判断树层次的标志,而我这里VALUE值另有用途,所以不适合。
ricky460 2004-01-12
  • 打赏
  • 举报
回复
如果需要的话, 我可以发给你一个 。。。
其实value和text值的问题很好解决 , 甚至一个节点7,8个变量也是很好解决的 。。。
gjd111686 2004-01-12
  • 打赏
  • 举报
回复
参考http://fason.nease.net/zhuanti/tree/dtree/dtree.htm自己写吧
79cy 2004-01-12
  • 打赏
  • 举报
回复
树的接口是从文件中读出text值和value值,保存后,将前面的两个值再写回文件,请大家给代码时考虑周全些,再次感谢!

87,910

社区成员

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

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