当前位置: 代码迷 >> JavaScript >> 这个树型菜单如何给叶子加超链接啊
  详细解决方案

这个树型菜单如何给叶子加超链接啊

热度:220   发布时间:2012-03-06 20:47:55.0
这个树型菜单怎么给叶子加超链接啊?
代码如下,如何点击叶子节点会打开一个自定义的链接地址呢?最好在新窗体中打开。谢谢。
================================================================
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN ">
<HTML>
<HEAD>
<TITLE>   DSTree   </TITLE>
 
<style>
body,td{font:12px   verdana}
#treeBox{background-color:#fffffa;}
#treeBox   .ec{margin:0   5   0   5;}
#treeBox   .hasItems{font-weight:bold;height:20px;padding:3   6   0   6;margin:2px;cursor:hand;color:#555555;border:1px   solid   #fffffa;}
#treeBox   .Items{height:20px;padding:3   6   0   6;margin:1px;cursor:hand;color:#555555;border:1px   solid   #fffffa;}
</style>
<script>
//code   by   star   20003-4-7
var   HC   =   "color:#990000;border:1px   solid   #cccccc ";
var   SC   =   "background-color:#efefef;border:1px   solid   #cccccc;color:#000000; ";
var   IO   =   null;
function   initTree(){
var   rootn   =   document.all.menuXML.documentElement;
var   sd   =   0;
document.onselectstart   =   function(){return   false;}
document.all.treeBox.appendChild(createTree(rootn,sd));
}
function   createTree(thisn,sd){
var   nodeObj   =   document.createElement( "span ");
var   upobj   =   document.createElement( "span ");
with(upobj){
style.marginLeft   =   sd*10;
className   =   thisn.hasChildNodes()? "hasItems ": "Items ";
innerHTML   =   " <img   src=d:/expand.gif   class=ec> "   +   thisn.getAttribute( "text ")   + " ";

onmousedown   =   function(){
if(event.button   !=   1)   return;
if(this.getAttribute( "cn ")){
this.setAttribute( "open ",!this.getAttribute( "open "));
this.cn.style.display   =   this.getAttribute( "open ")? "inline ": "none ";
this.all.tags( "img ")[0].src   =   this.getAttribute( "open ")? "d:/expand.gif ": "d:/contract.gif ";
}
if(IO){
IO.runtimeStyle.cssText   =   " ";
IO.setAttribute( "selected ",false);
}
IO   =   this;
this.setAttribute( "selected ",true);
this.runtimeStyle.cssText   =   SC;
}
onmouseover   =   function(){
if(this.getAttribute( "selected "))return;
this.runtimeStyle.cssText   =   HC;
}
onmouseout   =   function(){
if(this.getAttribute( "selected "))return;
this.runtimeStyle.cssText   =   " ";
}
oncontextmenu   =   contextMenuHandle;
onclick   =   clickHandle;
}

if(thisn.getAttribute( "treeId ")   !=   null){
upobj.setAttribute( "treeId ",thisn.getAttribute( "treeId "));
}
if(thisn.getAttribute( "href ")   !=   null){
upobj.setAttribute( "href ",thisn.getAttribute( "href "));
}
if(thisn.getAttribute( "target ")   !=   null){
upobj.setAttribute( "target ",thisn.getAttribute( "target "));
}

nodeObj.appendChild(upobj);
nodeObj.insertAdjacentHTML( "beforeEnd ", " <br> ")
  相关解决方案