當前位置:軟件學堂 > 資訊首頁 > 網絡編程 > 編程其他 > JS代碼實現類似QQ主界面的菜單

JS代碼實現類似QQ主界面的菜單

2012/11/2 20:18:21作者:佚名來源:網絡

移動端

【實例名稱】

JS代碼實現類似QQ主界面的菜單

【實例描述】

QQ主界面其實是C/S實現的菜單。本例通過JavaScript實現一個彈出式的菜單.效果與QQ主界面類似。

【實例代碼】

 

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language="JavaScript"> var titleHeight = 22;    //標題的高度 var bodyHeight = 160;    //菜單內容項的高度 var groupcount = 4;      //組的個數 var step = 3;          //移動速度 //顯示菜單的內容 function showDiv(obj1, obj2) {     //以下循環為改變標題的背景顏色     for(i=0;i<document.all.tags("td").length;i++)     {       if (document.all.tags("td")[i].className == 'headtd')        document.all.tags("td")[i].bgColor = '#cccc66';     }     obj2.bgColor = '#cccc66';     moveme(obj1); } //移動菜單內容 function moveme(obj) {     idnumber = parseInt(obj.id.substr(4));     objtop = titleHeight * (idnumber - 1);     objbuttom = bodyHeight + titleHeight * (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 = titleHeight * (countid - 1);         moveup(obj,objtop);         if (countid == idnumber)          break;         countid++;        }       } } else if ((currenttop <= objtop) && (idnumber < groupcount)) {   //檢驗出每一個應該向下移動的層   idnumber++;   countid = groupcount;   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 + titleHeight * (countid - 2);     movedown(obj,objbuttom);     if (countid == idnumber)      break;     countid--;    }   } } } //向上移動的方法 function moveup(obj,objtop) {     currenttop = parseInt(obj.style.top);     if (currenttop > objtop)     {       obj.style.top = currenttop - step;       window.setTimeout('moveup('+obj.id+','+objtop+')',1)     } } //向下移動的方法 function movedown(obj,objbuttom) {     currenttop = parseInt(obj.style.top);     if (currenttop < objbuttom)     {       obj.style.top = currenttop + step;       window.setTimeout('movedown('+obj.id+','+objbuttom+')',1)     } } </script> <style type="text/css"> <!--showme .headtd {  border: 3px outset; border-color: #00bbFF #0007cc #0007cc #00aacc; cursor: hand; font-size: 10pt} .bodytd {  background: gray; border: 2px outset; border-color: #00aaFF #0007cc #0007cc #00aacc; font-size: 10pt} --> </style> </head>

<body bgcolor="#FFFFFF" text="#000000"> <div id="mainboard" style="position:absolute; left:2px; top:2px; width:120px; height:226px; z-index:3; overflow: hidden; background-color: #cccc66;">   <div id="item1body" style="position:absolute; left:0; top:0; width:120px; height:160px; z-index:1; overflow: hidden">     <table width="100%" border="0" height="100%" cellpadding="2" cellspacing="0">       <tr>         <td id="item1head" height="20" class="headtd" onclick="showDiv(item1body,this)" bgcolor="#cccc66">           <div align="center">第一級</div>         </td>     </tr>     <tr>         <td class="bodytd">           <div align="center">123</div>         </td>     </tr>   </table>   </div>   <div id="item2body" style="position:absolute; left:0px; top:160; width:120; height:160; z-index:2; overflow: hidden">     <table width="100%" border="0" height="100%" cellpadding="2" cellspacing="0">       <tr>         <td id="item2head" height="20" class="headtd" onclick="showDiv(item2body,this)" bgcolor="#cccc66">           <div align="center">第二級</div>         </td>       </tr>       <tr>         <td class="bodytd">           <div align="center">456</div>         </td>       </tr>     </table>     <p class="headtd"> </p>   </div>   <div id="item3body" style="position:absolute; left:0; top:182; width:120px; height:160; z-index:3">     <table width="100%" border="0" height="100%" cellpadding="2" cellspacing="0">       <tr>         <td id="item3head" height="20" class="headtd" onclick="showDiv(item3body,this)" bgcolor="#cccc66">           <div align="center">第三級</div>         </td>       </tr>       <tr>         <td class="bodytd">           <div align="center">789</div>         </td>       </tr>     </table>   </div>   <div id="item4body" style="position:absolute; left:0; top:204; width:120px; height:160; z-index:4; overflow: hidden">     <table width="100%" border="0" height="100%" cellpadding="2" cellspacing="0">       <tr>         <td id="item4head" height="20" class="headtd" onclick="showDiv(item4body,this)" bgcolor="#cccc66">           <div align="center">第四級</div>         </td>       </tr>       <tr>         <td class="bodytd">           <div align="center">000</div>         </td>       </tr>     </table>   </div> </div> </body> </html>

 

 

【運行效果】

 類似QQ主界面的菜單運行效果

【難點剖析】

本例的重點是菜單的布局。使用div作為菜單的標題,使用table作為菜單的內容,通過設置樣式實現菜單的下拉和收縮效果。

【源碼下載】

為了JS代碼的準確性,請點擊:類似QQ主界面的菜單 進行本實例源碼下載 

欧美一级一极性活片免费观看,欧美一级艳片欧美精品,欧美一级性爱大片,欧美一级囗交视频 视频,欧美一级特黄录像视频