首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

怎么实现javascript实现树形菜单,

2012-03-22 
如何实现javascript实现树形菜单,急!在线等。二级树形菜单即可,当点击某个一级菜单时只有此级菜单的子菜单

如何实现javascript实现树形菜单,急!在线等。
二级树形菜单即可,当点击某个一级菜单时只有此级菜单的子菜单展开,其他一级菜单的子菜单都收起来。

[解决办法]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
function b1_onclick() {
if(b1.innerText== "+")
{
b1.innerText= "-";
list1.style.display= "block";
}
else
{
b1.innerText= "+";
list1.style.display = "none";
}
}
</script>
</head>
<body>
<span id=b1 onclick="return b1_onclick()" style="border-right: #ff00ff thin ridge; border-top: #ff00ff thin ridge; border-left: #ff00ff thin ridge; border-bottom: #ff00ff thin ridge; cursor: hand; background-color: #3399ff;">-</span>list1<br />
<ul id=list1>
<li>
item1<br /></li>
<li>item2<br /></li>
<li>item3</li>
</ul>
+list2

</body>
</html>

[解决办法]
//³õʼ¸³ÖµÍ¼Æ¬
var openImg = new Image();
openImg.src = "images/open.jpg";
var closedImg = new Image();
closedImg.src = "images/close.jpg";

//ÏÔʾ×Ó½Úµã
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('images/close.jpg')>-1)
objImg.src = openImg.src;
else
objImg.src = closedImg.src;
}

//´´½¨Ê÷
function 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"';
branchString += '><img onclick="showBranch(\'' + this.id + '\')" src="images/close.jpg" id="I' + this.id + '"><span onclick="Drawline(\'w' + this.id+'\','+'\'green\')">' + this.text;
branchString += '<img src="images/w.jpg" id="w'+this.id + '"></span></span>';
branchString += '<span class="leaf" id="'+this.id+'"';


branchString += '>';
var numLeaves = this.leaves.length;
for (var j=0;j<numLeaves;j++) branchString += this.leaves[j].write();
branchString += '</span>';
return branchString;
}


//¶¨ÒåÒ¶×Ó½Úµã
function leaf(text,id){
this.id=id
this.text = text;
this.write = writeLeaf;
}

//ÔÚÒ³ÃæÐ´³öÒ¶×Ó½Úµã
function writeLeaf(){
var leafString = '<img src="images/leaf.jpg" border="0">';
leafString += '<span onclick="Drawline(\'wl' + this.id+'\','+'\'red\')">' + this.text;
//leafString += '<span onclick="Drawline('wl' + this.id+','+'red)">' + this.text;
leafString += '<img src="images/w.jpg" id="wl'+this.id + '"></span><br>';
return leafString;
}


function CreateATree()
{

var myTree = new tree();
var branch1 = new branch('branch1','JavaScript²Î¿¼Êé');
var leaf1 = new leaf('ǰÑÔ','leaf11');
var leaf2 = new leaf('Ð÷ÂÛ','leaf12');
branch1.add(leaf1);
branch1.add(leaf2);
myTree.add(branch1);

var branch2 = new branch('branch2','µÚÒ»ÕÂ');
branch2.add(new leaf('µÚÒ»½Ú','leaf21'));
branch2.add(new leaf('µÚ¶þ½Ú','leaf22'));
branch2.add(new leaf('µÚÈý½Ú','leaf23'));
branch1.add(branch2);

var branch3 = new branch('branch3','µÚ¶þÕÂ');
branch3.add(new leaf('µÚÒ»½Ú','leaf31'));
branch3.add(new leaf('µÚ¶þ½Ú','leaf32'));
branch3.add(new leaf('µÚÈý½Ú','leaf33'));
branch1.add(branch3);

var branch5 = new branch('branch5','µÚÈýÕÂ');
branch5.add(new leaf('µÚÒ»½Ú','leaf51'));
branch5.add(new leaf('µÚ¶þ½Ú','leaf52'));
branch5.add(new leaf('µÚÈý½Ú','leaf53'));
branch5.add(new leaf('µÚËĽÚ','leaf54'));
branch1.add(branch5);

var branch4 = new branch('branch4','×÷Õß');
var leaf1 = new leaf('gj','leaf41');
var leaf2 = new leaf('gh','leaf42');
branch4.add(leaf1);
branch4.add(leaf2);
myTree.add(branch4);
myTree.write();
}

function CreateATree1()
{

var myTree = new tree();
var branch11 = new branch('branch11','ʾÀýÏîÄ¿');
var leaf11 = new leaf('¸ÅÂÛ','leaf111');
var leaf12 = new leaf('×ÛÊö','leaf112');
branch11.add(leaf11);
branch11.add(leaf12);
myTree.add(branch11);

var branch12 = new branch('branch12','ÏîĿһ');
branch12.add(new leaf('µÚÒ»Ò³','leaf121'));
branch12.add(new leaf('µÚ¶þÒ³','leaf122'));
branch12.add(new leaf('µÚÈýÒ³','leaf123'));
branch11.add(branch12);

var branch13 = new branch('branch13','ÏîÄ¿¶þ');
branch13.add(new leaf('µÚÒ»Ò³','leaf131'));
branch13.add(new leaf('µÚ¶þÒ³','leaf132'));
branch13.add(new leaf('µÚÈýÒ³','leaf133'));
branch11.add(branch13);

var branch15 = new branch('branch15','ÏîÄ¿Èý');
branch15.add(new leaf('µÚÒ»Ò³','leaf151'));
branch15.add(new leaf('µÚ¶þÒ³','leaf152'));


branch15.add(new leaf('µÚÈýÒ³','leaf153'));
branch15.add(new leaf('µÚËÄÒ³','leaf154'));
branch11.add(branch15);

var branch14 = new branch('branch14','×÷Õß');
var leaf11 = new leaf('gj','leaf141');
var leaf12 = new leaf('gh','leaf142');
branch14.add(leaf11);
branch14.add(leaf12);
myTree.add(branch14);
myTree.write();
}

热点排行