是 branch对象,也可以是 leaf(树叶)对象。所有这三种对象分别实现一个多
态性的 write()方法,不同对象的 write()方法根据所 属对象的不同而执行不同
的操作,也就是说:tree对象的 write()方法与 branch对象的 write()方法不
同,branch对象的 write ()方法又与 leaf对象的 write()方法不同。另外,tree
和 branch对象各有一个 add()方法,分别用来向各自所属的对象添加子对象。
在 HTML文档的部分加入下面这段代码。这段代码的作用是创建两个 Image
对象,分别对应分支打开、折叠状态的文件夹图形。另外还有几个工具函数,用
于打开或折叠任意分支的子元素,同时根据分支的打开或折叠状态相应地变换文
件夹图形。
< script language="JavaScript">
var openImg = new ..Asset not found..;
openImg.src = "open.gif";
var closedImg = new ..Asset not found..;
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;
}
代 码预先装入图形对象,这有利于提高以后的显示速度。showBranch()函
数首先获得参数提供的分支的样式,判断并切换当前样式的显示属性(在 block
和 none之间来回切换),从而形成分支的扩展和折叠效果。swapImage()函数的
原理和 showBranch()函数基本相同,它首先 判断当前分支的图形(打开的文件
夹还是折叠的文件夹),然后切换图形。
评论0
最新资源