lz可以看看csdn论坛中的树控件,meizz写的。

解决方案 »

  1.   

    lz可以看看csdn论坛中的树控件,meizz写的。
      

  2.   

    我的意思是:
    在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件。
      

  3.   


    你要的是像许愿墙那样的吧晕,GOOGLE一下这方面的许愿墙就有例子了
      

  4.   

    <!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> 
    <style type='text/css'> 
    <!-- 
    body{font-size:12px;} 
    a:visited{text-decoration:none;color:slategray;} 
    a:hover{text-decoration:underline;color:slategray;} 
    a:link{text-decoration:none;color:slategray;} 
    --> 
    </style> 
    <script language=JScript> 
    <!-- 
    //可以打包为js文件; 
    var x0=0,y0=0,x1=0,y1=0;
    var divNumber = 0;
    var offx=6,offy=6; 
    var moveable=false; 
    var hover='orange',normal='#336699';//color; 
    var index=10000;//z-index; 
    //开始拖动; 
    function startDrag(obj) 

    if(event.button==1) 

    //锁定标题栏; 
    obj.setCapture(); 
    //定义对象; 
    var win = obj.parentNode; 
    var sha = win.nextSibling; 
    //记录鼠标和层位置; 
    x0 = event.clientX; 
    y0 = event.clientY; 
    x1 = parseInt(win.style.left); 
    y1 = parseInt(win.style.top); 
    //记录颜色; 
    normal = obj.style.backgroundColor; 
    //改变风格; 
    obj.style.backgroundColor = hover; 
    win.style.borderColor = hover; 
    obj.nextSibling.style.color = hover; 
    sha.style.left = x1 + offx; 
    sha.style.top  = y1 + offy; 
    moveable = true; 


    //拖动; 
    function drag(obj) 

    if(moveable) 

    var win = obj.parentNode; 
    var sha = win.nextSibling; 
    win.style.left = x1 + event.clientX - x0; 
    win.style.top  = y1 + event.clientY - y0; 
    sha.style.left = parseInt(win.style.left) + offx; 
    sha.style.top  = parseInt(win.style.top) + offy; 


    //停止拖动; 
    function stopDrag(obj) 

    if(moveable) 

    var win = obj.parentNode; 
    var sha = win.nextSibling; 
    var msg = obj.nextSibling; 
    win.style.borderColor    = normal; 
    obj.style.backgroundColor = normal; 
    msg.style.color          = normal; 
    sha.style.left = obj.parentNode.style.left; 
    sha.style.top  = obj.parentNode.style.top; 
    obj.releaseCapture(); 
    moveable = false; 


    //获得焦点; 
    function getFocus(obj) 

    if(obj.style.zIndex!=index) 

    index = index + 2; 
    var idx = index; 
    obj.style.zIndex=idx; 
    obj.nextSibling.style.zIndex=idx-1; 


    //最小化; 
    function min(obj) 

    var win = obj.parentNode.parentNode; 
    var sha = win.nextSibling; 
    var tit = obj.parentNode; 
    var msg = tit.nextSibling; 
    var flg = msg.style.display=="none"; 
    if(flg) 

    win.style.height  = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2; 
    sha.style.height  = win.style.height; 
    msg.style.display = "block"; 
    obj.innerHTML = "0"; 

    else 

    win.style.height  = parseInt(tit.style.height) + 2*2; 
    sha.style.height  = win.style.height; 
    obj.innerHTML = "2"; 
    msg.style.display = "none"; 


    //创建一个对象; 
    function xWin(id,w,h,l,t,tit,msg) 

    index = index+2; 
    this.id      = id; 
    this.width  = w; 
    this.height  = h; 
    this.left    = l; 
    this.top    = t; 
    this.zIndex  = index; 
    this.title  = tit; 
    this.message = msg; 
    this.obj    = null; 
    this.bulid  = bulid; 
    this.bulid(); 

    //初始化; 
    function bulid() 

    var str = "" 
    + " <div id=xMsg" + this.id + " " 
    + "style='" 
    + "z-index:" + this.zIndex + ";" 
    + "width:" + this.width + ";" 
    + "height:" + this.height + ";" 
    + "left:" + this.left + ";" 
    + "top:" + this.top + ";" 
    + "background-color:" + normal + ";" 
    + "color:" + normal + ";" 
    + "font-size:8pt;" 
    + "font-family:Tahoma;" 
    + "position:absolute;" 
    + "cursor:default;" 
    + "border:2px solid " + normal + ";" 
    + "' " 
    + "onmousedown='getFocus(this)'>" 
    + " <div " 
    + "style='" 
    + "background-color:" + normal + ";" 
    + "width:" + (this.width-2*2) + ";" 
    + "height:20;" 
    + "color:white;" 
    + "' " 
    + "onmousedown='startDrag(this)' " 
    + "onmouseup='stopDrag(this)' " 
    + "onmousemove='drag(this)' " 
    + "ondblclick='min(this.childNodes[1])'" 
    + ">" 
    + " <span style='width:" + (this.width-2*12-4) + ";padding-left:3px;'>" + this.title + " </span>" 
    + " <span style='width:12;border-width:0px;color:white;font-family:webdings;' onclick='min(this)'>0 </span>" 
    + " <span style='width:12;border-width:0px;color:white;font-family:webdings;' onclick='ShowHide(\""+this.id+"\",null)'>r </span>" 
    + " </div>" 
    + " <div style='" 
    + "width:100%;" 
    + "height:" + (this.height-20-4) + ";" 
    + "background-color:white;" 
    + "line-height:14px;" 
    + "word-break:break-all;" 
    + "padding:3px;" 
    + "'>" + this.message + " </div>" 
    + " </div>" 
    + " <div id=xMsg" + this.id + "bg style='" 
    + "width:" + this.width + ";" 
    + "height:" + this.height + ";" 
    + "top:" + this.top + ";" 
    + "left:" + this.left + ";" 
    + "z-index:" + (this.zIndex-1) + ";" 
    + "position:absolute;" 
    + "background-color:black;" 
    + "filter:alpha(opacity=40);" 
    + "'> </div>"; 
    document.body.insertAdjacentHTML("beforeEnd",str); 

    //显示隐藏窗口 
    function ShowHide(id,dis){ 
    var bdisplay = (dis==null)?((document.getElementById("xMsg"+id).style.display=="")?"none":""):dis 
    document.getElementById("xMsg"+id).style.display = bdisplay; 
    document.getElementById("xMsg"+id+"bg").style.display = bdisplay; 
    } function initialize() 

    var a = new xWin("1",160,200,200,200,"窗口1","初始化自动加载的窗口1<br /><a style='font-size:16px;' href='http://jenney.cnblogs.com'>http://jenney.cnblogs.com</a>原创"); 
    var b = new xWin("2",240,200,100,100,"窗口2","初始化自动加载的窗口2<br /><a style='font-size:16px;' href='http://jenney.cnblogs.com'>http://jenney.cnblogs.com</a>原创"); 
    var c = new xWin("3",200,160,250,50,"窗口3","初始化自动加载的窗口3<br /><a style='font-size:16px;' href='http://jenney.cnblogs.com'>http://jenney.cnblogs.com</a>原创"); 
    divNumber = 3; 
    }
    function addDiv(){
    var divID = ++divNumber;
    var divTitle = "窗口" + divID;
    var a = new xWin(divID ,400,200,200,200, divTitle ,"这是通过按钮添加的"+divTitle +"<br /><a  style='font-size:16px;' href='http://jenney.cnblogs.com'>http://jenney.cnblogs.com</a>原创");
    }
    window.onload = initialize; 
    //--> 
    </script> 
    </head> 
    <base target="_blank">
    <body> 
    <input type="button" id="btnAdd" onclick="addDiv()" value="添加一个新层" />
    </body>
    </html>
    类似这样的吧?
      

  5.   


    <style type="text/css">
    #one,#two{
    line-height:25px;
    overflow:hidden;
    height:auto;
    border:1px solid #999;
    }
    #one,#two{height:25px;}
    #one_2,#two_2{height:25px;}
    #one_3,#two_3{height:auto;}
    </style>
    </head>
    <body>
    <script language="JavaScript" type="text/javascript">
    function $(id ){return document.getElementById(id)}
    function $H(id){return parseInt($(id).style.height||$(id).currentStyle.height)}
    function openDiv (id,obj){
    var h2=$H(id);
    if(h2==25)addH=5;
    else addH=-5;
    son(id,obj);
    }
    var addH
    function son(id,obj){
    var h2=$H(id);
    var h4=$H(id+"_2");
    var h5=parseInt($(id+"_3").offsetHeight);
    var h6=h4+h5;
    if(addH >0 && h2<=(h6+26) || addH <0 && h2>25){
    $(id).style.height=h2+addH+"px";
    setTimeout(function(){son(id,obj)},40)
    }
    if (addH >0)obj.innerHTML="-"
    else obj.innerHTML="+"
    }
    </script>
      <div id="one">
    <span id="one_2" style="font-weight:700;width:95%">标题</span><span onclick="openDiv('one',this)">+</span><br>
    <span id="one_3">在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!</span></div>
      
      <div id="two">
    <span id="two_2" style="font-weight:700;width:95%">标题</span><span onclick="openDiv('two',this)">+</span><br>
    <span id="two_3">
    <p>在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!
    <p>在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!
    <p>在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!
       </span>
      </div>
      
     </body>
      

  6.   

    try<style type="text/css">
    #one,#two{
        line-height:25px;
        overflow:hidden;
        height:auto;
        border:1px solid #999;
    }
    #one,#two{height:25px;}
    #one_2,#two_2{height:25px;}
    #one_3,#two_3{height:auto;}
    </style>
    </head>
    <body>
    <script language="JavaScript" type="text/javascript">
    function $(id ){return document.getElementById(id)}
    function $H(id){return parseInt($(id).style.height||$(id).currentStyle.height)}
    function openDiv (id,obj){
        var h2=$H(id);
        if(h2<=25)addH=5;
        else addH=-5;
        son(id,obj);
    }
    var addH
    function $objH(id){
        var h2=$H(id);
        var h4=$H(id+"_2");
        var h5=parseInt($(id+"_3").offsetHeight);
        var h6=h4+h5;
        return [h2,h6]}
    function son(id,obj){
        var h2=$objH(id)[0]
        var h6=$objH(id)[1];
        if(addH >0 && h2<=(h6+26) || addH <0 && h2>26){
            $(id).style.height=h2+addH+"px";
            setTimeout(function(){son(id,obj)},40)
        }
        else if (addH<0)
         $(id).style.height="25px";
        if (addH >0)obj.innerHTML="-"
        else obj.innerHTML="+"
    }
    function init(){
    $("one").style.height=$objH("one")[1]+30
    $("two").style.height=$objH("two")[1]+26
    }
    onload=init
    </script>
      <div id="one">
        <span id="one_2" style="font-weight:700;width:95%">标题</span><span onclick="openDiv('one',this)">-</span><br>
        <span id="one_3">在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!</span></div>
      
      <div id="two">
        <span id="two_2" style="font-weight:700;width:95%">标题</span><span onclick="openDiv('two',this)">-</span><br>
        <span id="two_3">
        <p>在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!
        <p>在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!
        <p>在页面上放几个层,横着上下排列(左右100%到页边的),可以用按钮展开,收缩的。自己可以增加或减少层的个数,我可以在各个层里面放FORM或数据绑定控件!
          </span>
      </div>