function initializeItem(level, lastNode, leftSide) 
{  
  this.createIndex() 
 
  if (level>0) 
    if (lastNode) //the last 'brother' in the children array 
    { 
      this.renderOb(leftSide + "<img src='./jsimage/ftv2lastnode.gif' width=16 height=22>") 
      leftSide = leftSide + "<img src='./jsimage/ftv2blank.gif' width=16 height=22>"  
    } 
    else 
    { 
      this.renderOb(leftSide + "<img src='./jsimage/ftv2node.gif' width=16 height=22>") 
      leftSide = leftSide + "<img src='./jsimage/ftv2vertline.gif' width=16 height=22>" 
    } 
  else 
    this.renderOb("")   

 
function drawItem(leftSide) 

  if (browserVersion == 2) 
    doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hiden>") 
     
  doc.write("<table ") 
  if (browserVersion == 1) 
    doc.write(" id='item" + this.id + "' style='position:block;' ") 
  doc.write(" border=0 cellspacing=0 cellpadding=0>") 
  doc.write("<tr><td>") 
  doc.write(leftSide) 
  doc.write("<a href=" + this.link + ">") 
  doc.write("<img id='itemIcon"+this.id+"' ") 
  doc.write("src='"+this.iconSrc+"' border=0>") 
  doc.write("</a>") 
  doc.write("</td><td valign=middle nowrap>") 
  if (USETEXTLINKS) 
    doc.write("<a href=" + this.link + ">" + this.desc + "</a>") 
  else 
    doc.write(this.desc) 
  doc.write("</table>") 
   
  if (browserVersion == 2) 
    doc.write("</layer>") 
 
  if (browserVersion == 1) { 
    this.navObj = doc.all["item"+this.id] 
    this.iconImg = doc.all["itemIcon"+this.id] 
  } else if (browserVersion == 2) { 
    this.navObj = doc.layers["item"+this.id] 
    this.iconImg = this.navObj.document.images["itemIcon"+this.id] 
    doc.yPos=doc.yPos+this.navObj.clip.height 
  } 
}

解决方案 »

  1.   

    // Methods common to both objects (pseudo-inheritance) 
    // ******************************************************** 
     
    function display() 

      if (browserVersion == 1) 
        this.navObj.style.display = "block" 
      else 
        this.navObj.visibility = "show" 

     
    function createEntryIndex() 

      this.id = nEntries 
      indexOfEntries[nEntries] = this 
      nEntries++ 

     
    // total height of subEntries open 
    function totalHeight() //used with browserVersion == 2 

      var h = this.navObj.clip.height 
      var i = 0 
       
      if (this.isOpen) //is a folder and _is_ open 
        for (i=0 ; i < this.nChildren; i++)  
          h = h + this.children[i].totalHeight() 
     
      return h 

     
     
    // Events 
    // ********************************************************* 
     
    function clickOnFolder(folderId) 

      var clicked = indexOfEntries[folderId] 
     
      if (!clicked.isOpen) 
        clickOnNode(folderId) 
     
      return  
     
      if (clicked.isSelected) 
        return 

     
    function clickOnNode(folderId) 

      var clickedFolder = 0 
      var state = 0 
     
      clickedFolder = indexOfEntries[folderId] 
      state = clickedFolder.isOpen 
     
      clickedFolder.setState(!state) //open<->close  

     
    function initializeDocument() 

      if (doc.all) 
        browserVersion = 1 //IE4   
      else 
        if (doc.layers) 
          browserVersion = 2 //NS4 
        else 
          browserVersion = 0 //other 
     
      foldersTree.initialize(0, 1, "") 
      foldersTree.display()
      
      if (browserVersion > 0) 
      { 
        doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>") 
     
        // close the whole tree 
        clickOnNode(0) 
        // open the root folder 
        clickOnNode(0) 
      } 
    }
      

  2.   

    // Auxiliary Functions for Folder-Treee backward compatibility 
    // ********************************************************* 
     
    function gFld(description, hreference) 

      description="<font style=font-size:9pt; font-color: #00ff00;background-color:#ccff99>" + description
      folder = new Folder(description, hreference) 
      return folder 

     
    function gLnk(target, description, linkData) 

      description="<font style=font-size:9pt; font-color: #0000ff;background-color:#ccff99>" + description
      fullLink = "" 
     
      if (target==0) 
      { 
        fullLink = "'"+linkData+"' target=_top" 
      } 
      else 
      { 
        if (target==1) 
           fullLink = "'"+linkData+"' target=_top" 
        else 
           fullLink = "'"+linkData+"' target=\"mainFrame\"" 
      } 
     
      linkItem = new Item(description, fullLink)   
      return linkItem 

     
    function insFld(parentFolder, childFolder) 

      return parentFolder.addChild(childFolder) 

     
    function insDoc(parentFolder, document) 

      parentFolder.addChild(document) 

     
    // Global variables 
    // **************** 
     
    USETEXTLINKS = 1 
    indexOfEntries = new Array 
    nEntries = 0 
    doc = document 
    browserVersion = 0 
    selectedFolder=0
      

  3.   

    在<head>..</head>之间加入:
    <style>
    A.a03:link {text-decoration:none;color:#000000;}
    A.a03:visited {text-decoration:none;color:#800080;}
    A.a03:active,A.a03:hover {text-decoration:underline;color:#ff0000;}
    </style>
      

  4.   

    http://fason.nease.net/zhuanti/tree/foldertree3/dtree.htm