怎么样才能实现象QQ一样的菜单效果
能不能提供代码

解决方案 »

  1.   

    winform 里面就有这个菜单空间的啊,
      

  2.   

    兄弟我碰到过相同的问题,我的解决办法是去www.codeproject.com去参考别人提供的源代码,希望你能去看看。
      

  3.   

    Janus System 的Janus ButtonBar 控件
    完全可以实现这个效果网上找找。。地址忘记了~~
      

  4.   

    用ComponentArt Web UI可以实现,这是个第三方公司开发的Web形式的各种菜单的控件。可以直接引用,自己添加图形代码或者改变菜单风格。去网上搜索以下下载这个控件包吧
      

  5.   

    抄来的代码,你看看吧以下代码加入<head>区域
    <script language='JavaScript'>
    var headHeight = 22;var bodyHeight = 202;var objcount = 6;var step = 10;var moving = false;
    function showme(obj1, obj2)
    {
    if (moving)
    return;
    moving = true;
    for(i=0;i<document.all.tags('td').length;i++)
    if (document.all.tags('td')[i].className.indexOf('headtd') == 0)
    document.all.tags('td')[i].className = 'headtd1';
    obj2.className = 'headtd2';
    moveme(obj1);
    }
    function moveme(obj)
    {
    idnumber = parseInt(obj.id.substr(4));
    objtop = headHeight * (idnumber - 1);
    objbuttom = bodyHeight + headHeight * (idnumber - 2);
    currenttop = parseInt(obj.style.top);
    if (currenttop >= objbuttom)
    {
    countid = 1;
    for(i=0;i<document.all.tags('div').length;i++)
    if (document.all.tags('div')[i].id == 'item'+countid+'body')
    {
    obj = document.all.tags('div')[i];
    objtop = headHeight * (countid - 1);
    if (countid == idnumber)
    {
    moveup(obj,objtop,false);
    break;
    }
    else
    moveup(obj,objtop,true);
    countid++;
    }
    }
    else if ((currenttop >= objtop) && (idnumber < objcount))
    {
    idnumber++;
    countid = objcount;
    for(i=document.all.tags('div').length-1;i>=0;i--)
    if (document.all.tags('div')[i].id == 'item'+countid+'body')
    {
    obj = document.all.tags('div')[i];
    objbuttom = bodyHeight + headHeight * (countid - 2);
    if (countid == idnumber)
    {
    movedown(obj,objbuttom,false);
    break;
    }
    else
    movedown(obj,objbuttom,true);
    countid--;
    }
    }
    }
    function moveup(obj,objtop,ismove)
    {
    currenttop = parseInt(obj.style.top);
    if (currenttop > objtop)
    {
    obj.style.top = currenttop - step;
    setTimeout('moveup('+obj.id+','+objtop+','+ismove+')',1)
    return;
    }
    moving = ismove;
    }
    function movedown(obj,objbuttom,ismove)
    {
    currenttop = parseInt(obj.style.top);
    if (currenttop < objbuttom)
    {
    obj.style.top = currenttop + step;
    setTimeout('movedown('+obj.id+','+objbuttom+','+ismove+')',1)
    return;
    }
    moving = ismove;
    }
    </script><style type='text/css'>
    .headtd1 {  background: #eaeaea; border: 1px outset; border-color: #ffffff #000000 #000000 #ffffff; cursor: hand; font-size: 9pt}.headtd2 {  background: #cccccc; border: 1px outset; border-color: #ffffff #000000 #000000 #ffffff; cursor: hand; font-size: 9pt}.bodytd  {  background: #eeeeee; border: 1px outset; border-color: #ffffff #000000 #000000 #ffffff; font-size: 9pt}
    </style>
    以下代码加入<body>区域
    <div id='mainboard' style='position:absolute; left:2px; top:2px; width:120px; height:312px; z-index:1; overflow: hidden; background: #eeeeee;'> <div id='item1body' style='position:absolute; left:0; top:0; width:120px; height:202px; z-index:2; overflow: hidden'><table width='100%' border='0' height='100%' cellpadding='2' cellspacing='0'><tr><td id='item1head' height='20' class='headtd2' onclick='showme(item1body,this)' align='center'>菜单1</td></tr><tr><td class='bodytd' align='center'>test</td></tr></table></div><div id='item2body' style='position:absolute; left:0; top:202; width:120px; height:202px; z-index:3; overflow: hidden'><table width='100%' border='0' height='100%' cellpadding='2' cellspacing='0'><tr><td id='item2head' height='20' class='headtd1' onclick='showme(item2body,this)' align='center'>菜单2</td></tr><tr><td class='bodytd' align='center'>test</td></tr></table></div><div id='item3body' style='position:absolute; left:0; top:224; width:120px; height:202px; z-index:4; overflow: hidden'><table width='100%' border='0' height='100%' cellpadding='2' cellspacing='0'><tr><td id='item3head' height='20' class='headtd1' onclick='showme(item3body,this)' align='center'>菜单3</td></tr><tr><td class='bodytd' align='center'>test</td></tr></table></div><div id='item4body' style='position:absolute; left:0; top:246; width:120px; height:202px; z-index:5; overflow: hidden'><table width='100%' border='0' height='100%' cellpadding='2' cellspacing='0'><tr><td id='item4head' height='20' class='headtd1' onclick='showme(item4body,this)' align='center'>菜单4</td></tr><tr><td class='bodytd' align='center'>test</td></tr></table></div><div id='item5body' style='position:absolute; left:0; top:268; width:120px; height:202px; z-index:6; overflow: hidden'><table width='100%' border='0' height='100%' cellpadding='2' cellspacing='0'><tr><td id='item5head' height='20' class='headtd1' onclick='showme(item5body,this)' align='center'>菜单5</td></tr><tr><td class='bodytd' align='center'>test</td></tr></table></div><div id='item6body' style='position:absolute; left:0; top:290; width:120px; height:202px; z-index:7; overflow: hidden'><table width='100%' border='0' height='100%' cellpadding='2' cellspacing='0'><tr><td id='item6head' height='20' class='headtd1' onclick='showme(item6body,this)' align='center'>菜单6</td></tr><tr><td class='bodytd' align='center'>test</td></tr></table></div></div>
      

  6.   

    是web还是window,这可不一样啊。。