當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

JS代碼完成類似QQ主界面的菜單

JS代碼完成類似QQ主界面的菜單

更新時間:2023-06-19 文章作者:未知 信息來源:網絡 閱讀次數:

編程(Programming)是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應結果的過程。為了使計算機能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。

【實例名稱】

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主界面的菜單 進行本實例源碼下載 


使用編程語言寫的程序,由于每條指令都對應計算機一個特定的基本動作,所以程序占用內存少、執行效率高。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
亚洲嫩草影院久久精品