随笔 - 547  文章 - 213 评论 - 417 阅读 - 107万

 

<html>
<head>
<title>test tree</title>

</head>

<style>
body{
font: 10pt 宋体,sans
-serif; color: navy; }
.branch{
cursor: pointer;
cursor: hand;
display: block; }
.leaf{
display: none;
margin
-left: 16px; }
a{ text
-decoration: none; }
a:hover{ text
-decoration: underline; }
</style>


<body>

 


</body>

<script language ="javascript">
//alert("执行到这里");
var openImg = new Image();
openImg.src 
= "open.gif";
var closedImg 
= new Image();
closedImg.src 
= "closed.gif";

function showBranch(branch){
var objBranch 
= document.getElementById(branch).style;
if (objBranch.display=="block")
objBranch.display
="none";
else
objBranch.display
="block";
swapFolder(
'I' + branch);
}

function swapFolder(img){
objImg 
= document.getElementById(img);
if (objImg.src.indexOf('closed.gif')>-1)
objImg.src 
= openImg.src;
else
objImg.src 
= closedImg.src;
}


function tree(){
alert(
'new tree()');
this.branches = new Array();
this.add = addBranch;
this.write = writeTree;
}

function addBranch(branch){
this.branches[this.branches.length] = branch;
}

function writeTree(){
var treeString 
= '';
var numBranches 
= this.branches.length;
for (var i=0;i <numBranches;i++)  treeString += this.branches[i].write();
document.write(treeString);
}

function branch(id, text){
this.id = id;
this.text = text;
this.write = writeBranch;
this.add = addLeaf;
this.leaves = new Array();
}


function addLeaf(leaf){
this.leaves[this.leaves.length] = leaf;
}

function writeBranch(){
var branchString 
= '<span class="branch" ' + 'onClick="showBranch(\'' + this.id + '\')"';
branchString 
+= '><img src="/closed.gif" id="I' + this.id + '">' + this.text;
branchString 
+= '</span>';
branchString 
+= '<span class="leaf" id="';
branchString 
+= this.id + '">';
var numLeaves 
= this.leaves.length;
for (var j=0;j<numLeaves;j++) branchString += this.leaves[j].write();
branchString 
+= '</span>';
return branchString;
}

function leaf(text, link){
this.text = text;
this.link = link;
this.write = writeLeaf;
}

function writeLeaf(){
var leafString 
= '<a href="' + this.link + '">';
leafString 
+= '<img src="/doc.gif" border="0">';
leafString 
+= this.text;
leafString 
+= '</a><br>';
return leafString;
}

</script>


<script language="javascript">
//alert('haha');
var myTree = new tree();
var branch1 
= new branch('branch1','JavaScript参考书');
var leaf1 
= new leaf('前言','#');
var leaf2 
= new leaf('绪论','#');
branch1.add(leaf1);
branch1.add(leaf2);
myTree.add(branch1);

var branch2 
= new branch('branch2','第一章');
branch2.add(
new leaf('第一节','#'));
branch2.add(
new leaf('第二节','#'));
branch2.add(
new leaf('第三节','#'));
branch1.add(branch2);

var branch3 
= new branch('branch2','第二章');
branch3.add(
new leaf('第一节','#'));
branch3.add(
new leaf('第二节','#'));
branch3.add(
new leaf('第三节','#'));
branch1.add(branch3);

myTree.add(
new leaf('联系我们','#'));
myTree.write();
</script>

</html>

 参考文章:
http://www.blog.sh/user1/998/archives/2005/4753.html
并修正了其中的一些错误

posted on   今夜太冷  阅读(553)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示