我对javascript一巧不同,这个页面只能显一级数据!如:
+目录1
.....数据1
.....数据2
+目录2
.....数据1
.....数据2
如何能将其该给可分多层目录如:+目录1
.....+目录11
       .......数据
.....+目录12
       .......数据
+目录2
.....+目录21
       .......数据
.....+目录22
       .......数据请帮帮忙,谢谢!

解决方案 »

  1.   

    http://fason.nease.net/zhuanti/tree/XML.zip
      

  2.   

    http://www.destroydrop.com/javascripts/tree/
      

  3.   

    留下email
    我有无限级的数据库支持的!!!
    发给你!!
      

  4.   

    <Script Language="JavaScript">
    //Name﹕無限層樹狀
    //Design:LiuZXIT
    //OverTime:2003/3/19
    //Note:在IE5.i上測試通過var strStyle='<style type="text/css">'
    strStyle+='span.SelectIng{color:#ff00ff;border:solid 1pt #666666;padding:0.5pt;height:4px;background-color:#cccccc;}'
    strStyle+='span.NoSelect{color:#000084;border:solid 1pt #ffffff;padding:0.5pt;height:4px;background-color:#ffffff;}'
    strStyle+='span.SelectEd{color:#D02090;border:solid 1pt #888888;padding:0.5pt;height:4px;background-color:#f3f3f3;}'
    strStyle+='</style>'
    document.write(strStyle)var myRs=new Array(), selectItem;
    function compare(a,b) {return parseInt(a[1]) - parseInt(b[1])}
    function InsertItem(s){myRs[myRs.length++] = s.split(/,/);}function ExCloAll(n){
    var d=document.all('0'), e=d.all.tags('div')
    for (i=0;i<e.length;i++)e[i].style.display=(n==1?'block':'none')
    e=d.all.tags('p')
    for (i=0;i<e.length;i++){if(ChkExist(e[i].children[1].value))e[i].children[0].innerText=(n==1?'- ':'+ ')}
    }function ExCloItem(){
    var c,e=event.srcElement, p=e.parentElement.children
    if(e.myHref!=''){
    alert((e.myTarget!=''?e.myTarget:'window')+'.location='+e.myHref) //要改成連接到某頁只需把alert改成eval即可
    //如果你不想觸發展合動作只需在這里加return;
    }
    else{window.status='no href'};
    if(selectItem!=null)selectItem.className='NoSelect';
    e.className='SelectEd'
    selectItem=event.srcElement;
    if(c=document.all(e.value)){
    p[0].innerText=(p[0].innerText=='+ '?'- ':'+ ')
    c.style.display=(c.style.display=='none'?'block':'none')
    }else{p[0].innerText='- '}
    }
    function ExCloItem2(){
    var c,e=event.srcElement, p=e.parentElement.children
    if(c=document.all(p[1].value)){
    e.innerText=(e.innerText=='+ '?'- ':'+ ')
    c.style.display=(c.style.display=='block'?'none':'block')
    }else e.innerText='- '
    }function OutItem(){
    var e=event.srcElement
    if(selectItem != '')e.className=(selectItem==e?'SelectEd':'NoSelect')
    else e.className='NoSelect'
    }function ChkExist(n){
    n=parseInt(n)
    if((n<myRs[0][1])||(n>myRs[myRs.length-1][1]))return false
    var a,b,c,x=0, y=parseInt(myRs.length/2), z=myRs.length-1
    while((x!=y)&&(y!=z)){
    a=myRs[x][1], b=myRs[y][1], c=myRs[z][1]
    if(n==a||n==b||n==c)return true
    if(n>b)x=y;
    else z=y;y=parseInt(x+z);
    y=parseInt((x+z)/2);
    }
    return false
    }function drawTree(n){
    if(n==0){
    myRs.sort(compare)
    document.write('<p style="font:10pt;cursor:hand;"><span onclick="ExCloAll(1)">全部展開</span>&nbsp;&nbsp;<span onclick="ExCloAll(0)">全部合攏</span></p>')
    }
    if (ChkExist(n)!=true)return
    document.write('<div id="'+n+'" style="font:10pt;cursor:hand;'+(n!=0?'position:relative;left:20;display:none;':'')+'">')
    for(var i=0;i<myRs.length;i++){
    if (parseInt(myRs[i][1])>n)break;
    if (myRs[i][1]==n){
    document.write('<p style="margin:0pt;"><span style="vertical-align:top;" onclick="ExCloItem2()">'+(ChkExist(myRs[i][0])?'+ ':'- ')+'</span>')
    document.write('<span onclick="ExCloItem()" myHref="'+(myRs[i].length>3?myRs[i][3]:'')+'" myTarget="' + (myRs[i].length>4?myRs[i][4]:'') +'" value="'+myRs[i][0]+'" class="NoSelect" onmouseout="OutItem()" onmouseover="this.className=\'SelectIng\'">'+myRs[i][2]+'</span></p>')
    if (myRs[i].length >3)document.write('</a>');
    drawTree(myRs[i][0])
    }
    }
    document.write('</div>')
    }InsertItem('1,0,根目錄1')
    InsertItem('11,1,子目錄1')
    InsertItem('111,11,孫目錄1,b.htm,parent.frmMain')
    InsertItem('1111,111,曾孫目錄,c.htm,top')
    InsertItem('11111,1111,玄孫目錄,d.htm,window')
    InsertItem('12,1,子目錄2')
    InsertItem('2,0,根目錄2')
    InsertItem('21,2,子目錄A,d.htm')
    InsertItem('22,2,子目錄B')
    InsertItem('3,0,根目錄3')
    drawTree(0)
    </Script>
      

  5.   

    http://webfx.eae.net/dhtml/xtree/index.html
      

  6.   

    218.31.124.197/tree.rar
    直接发布看效果
      

  7.   

    <script language="JavaScript">
    var mmenus    = new Array();
    var misShow   = new Boolean();
    misShow=false;
    var misdown   = new Boolean();
    misdown=false;
    var mnumberofsub=0;
    var musestatus=false;
    var mpopTimer = 0;
    mmenucolor='#ffffff';mfontcolor='MenuText';mmenuoutcolor='#ffcc00';mmenuincolor='#ffcc00';mmenuoutbordercolor='#ffffff';mmenuinbordercolor='#FFFFFF';mmidoutcolor='#ffcc00';mmidincolor='#ffcc00';mmenuovercolor='#0000ff';mitemedge='0';msubedge='1';mmenuunitwidth=82;mmenuitemwidth=140;mmenuheight=20;mmenuwidth='100%';mmenuadjust=0;mmenuadjustV=0;mfonts='font-color:#ffcc00;font-family: 宋体; font-size: 10pt; color:#ffcc00; ';mcursor='hand';
    var swipeSteps = 4;
    var swipemsec = 25;
    var swipeArray = new Array();
    function swipe(el, dir, steps, msec) {
    if (steps == null) steps = swipeSteps;
    if (msec == null) msec = swipemsec;
    if (el.swipeIndex == null)
    el.swipeIndex = swipeArray.length;
    if (el.swipeTimer != null)
    window.clearTimeout(el.swipeTimer);
    swipeArray[el.swipeIndex] = el;
    el.style.clip = "rect(-99999, 99999, 99999, -99999)";
    if (el.swipeCounter == null || el.swipeCounter == 0) {
    el.orgLeft  = el.offsetLeft;
    el.orgTop  = el.offsetTop;
    el.orgWidth = el.offsetWidth;
    el.orgHeight  = el.offsetHeight;
    }
    el.swipeCounter = steps;
    el.style.clip = "rect(0,0,0,0)";
    window.setTimeout("repeat(" + dir + "," + el.swipeIndex + "," + steps + "," + msec + ")", msec);
    }
    function repeat(dir, index, steps, msec) {
    el = swipeArray[index];
    var left   = el.orgLeft;
    var top    = el.orgTop;
    var width  = el.orgWidth;
    var height = el.orgHeight;
    if (el.swipeCounter == 0) {
    el.style.clip = "rect(-99999, 99999, 99999, -99999)";
    return;
    }
    else {
    el.swipeCounter--;
    el.style.visibility = "visible";
    switch (dir) {
    case 2:
    el.style.clip = "rect(" + height*el.swipeCounter/steps + "," + width + "," + height + "," + 0 + ")";
    el.style.top  = top - height*el.swipeCounter/steps;
    break;
    case 8:
    el.style.clip = "rect(" + 0 + "," + width + "," + height*(steps-el.swipeCounter)/steps + "," + 0 + ")";
    el.style.top  = top + height*el.swipeCounter/steps;
    break;
    case 6:
    el.style.clip = "rect(" + 0 + "," + width + "," + height + "," + width*(el.swipeCounter)/steps + ")";
    el.style.left  = left - width*el.swipeCounter/steps;
    break;
    case 4:
    el.style.clip = "rect(" + 0 + "," + width*(swipeSteps - el.swipeCounter)/steps + "," + height + "," + 0 + ")";
    el.style.left  = left + width*el.swipeCounter/steps;
    break;
    } el.swipeTimer = window.setTimeout("repeat(" + dir + "," + index + "," + steps + "," + msec + ")", msec);
    }
    }
    var mtmpleft="";
    var mtmptop="";