1.

  • js实现无限级树形下拉导航菜单,简洁实用,用到一个已封装好的JS类,有用的大家借鉴一下。

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> *{ margin:0; padding:0; list-style:none;} body { margin:20px;} h2 { font-family:"黑体"; font-size:24px; text-align:center; line-height:32px;} h5 { font-size:12px; text-align:center; font-weight:normal; color:#666; line-height:28px;} #nav a { text-decoration:underline;color:#06c; font-size:14px; line-height:24px;} #nav ul{ margin-bottom:5px;} #nav strong{ color:#696;} #nav.dyn li ul{ display:none;} #nav.dyn li ul.show{ display:block;} #nav.dyn li{ padding-left:15px;} #nav.dyn li.parent{ background:url(/jscss/demoimg/201004/user_23.gif) 5px 10px no-repeat;} #nav.dyn li.open{ background:url(/jscss/demoimg/201004/user_23.gif) 5px -34px no-repeat;} </style> <script type="text/javascript"> DOMhelp={ debugWindowId:'DOMhelpdebug', init:function(){ if(!document.getElementById || !document.createTextNode){return;} }, lastSibling:function(node){ var tempObj=node.parentNode.lastChild; while(tempObj.nodeType!=1 && tempObj.previousSibling!=null){ tempObj=tempObj.previousSibling; } return (tempObj.nodeType==1)?tempObj:false; }, firstSibling:function(node){ var tempObj=node.parentNode.firstChild; while(tempObj.nodeType!=1 && tempObj.nextSibling!=null){ tempObj=tempObj.nextSibling; } return (tempObj.nodeType==1)?tempObj:false; }, getText:function(node){ if(!node.hasChildNodes()){return false;} var reg=/^\s+$/; var tempObj=node.firstChild; while(tempObj.nodeType!=3 && tempObj.nextSibling!=null || reg.test(tempObj.nodeValue)){ tempObj=tempObj.nextSibling; } return tempObj.nodeType==3?tempObj.nodeValue:false; }, setText:function(node,txt){ if(!node.hasChildNodes()){return false;} var reg=/^\s+$/; var tempObj=node.firstChild; while(tempObj.nodeType!=3 && tempObj.nextSibling!=null || reg.test(tempObj.nodeValue)){ tempObj=tempObj.nextSibling; } if(tempObj.nodeType==3){tempObj.nodeValue=txt}else{return false;} }, createLink:function(to,txt){ var tempObj=document.createElement('a'); tempObj.appendChild(document.createTextNode(txt)); tempObj.setAttribute('href',to); return tempObj; }, createTextElm:function(elm,txt){ var tempObj=document.createElement(elm); tempObj.appendChild(document.createTextNode(txt)); return tempObj; }, closestSibling:function(node,direction){ var tempObj; if(direction==-1 && node.previousSibling!=null){ tempObj=node.previousSibling; while(tempObj.nodeType!=1 && tempObj.previousSibling!=null){ tempObj=tempObj.previousSibling; } }else if(direction==1 && node.nextSibling!=null){ tempObj=node.nextSibling; while(tempObj.nodeType!=1 && tempObj.nextSibling!=null){ tempObj=tempObj.nextSibling; } } return tempObj.nodeType==1?tempObj:false; }, initDebug:function(){ if(DOMhelp.debug){DOMhelp.stopDebug();} DOMhelp.debug=document.createElement('div'); DOMhelp.debug.setAttribute('id',DOMhelp.debugWindowId); document.body.insertBefore(DOMhelp.debug,document.body.firstChild); }, setDebug:function(bug){ if(!DOMhelp.debug){DOMhelp.initDebug();} DOMhelp.debug.innerHTML+=bug+'\n'; }, stopDebug:function(){ if(DOMhelp.debug){ DOMhelp.debug.parentNode.removeChild(DOMhelp.debug); DOMhelp.debug=null; } }, getKey:function(e){ if(window.event){ var key = window.event.keyCode; } else if(e){ var key=e.keyCode; } return key; }, /* helper methods */ getTarget:function(e){ var target = window.event ? window.event.srcElement : e ? e.target : null; if (!target){return false;} while(target.nodeType!=1 && target.nodeName.toLowerCase()!='body'){ target=target.parentNode; } return target; }, stopBubble:function(e){ if(window.event && window.event.cancelBubble){ window.event.cancelBubble = true; } if (e && e.stopPropagation){ e.stopPropagation(); } }, stopDefault:function(e){ if(window.event && window.event.returnValue){ window.event.returnValue = false; } if (e && e.preventDefault){ e.preventDefault(); } }, cancelClick:function(e){ if (window.event){ window.event.cancelBubble = true; window.event.returnValue = false; } if (e && e.stopPropagation && e.preventDefault){ e.stopPropagation(); e.preventDefault(); } }, addEvent: function(elm, evType, fn, useCapture){ if (elm.addEventListener){ elm.addEventListener(evType, fn, useCapture); return true; } else if (elm.attachEvent) { var r = elm.attachEvent('on' + evType, fn); return r; } else { elm['on' + evType] = fn; } }, cssjs:function(a,o,c1,c2){ switch (a){ case 'swap': o.className=!DOMhelp.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2); break; case 'add': if(!DOMhelp.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;} break; case 'remove': var rep=o.className.match(' '+c1)?' '+c1:c1; o.className=o.className.replace(rep,''); break; case 'check': var found=false; var temparray=o.className.split(' '); for(var i=0;i<temparray.length;i++){ if(temparray[i]==c1){found=true;} } return found; break; } }, safariClickFix:function(){ return false; } } DOMhelp.addEvent(window, 'load', DOMhelp.init, false); </script> <script type="text/javascript"> <!-- sn={ dynamicClass:'dyn', showClass:'show', parentClass:'parent', openClass:'open', navID:'nav', init:function(){ var triggerLink; if(!document.getElementById || !document.createTextNode){return;} var nav=document.getElementById(sn.navID); if(!nav){return;} DOMhelp.cssjs('add',nav,sn.dynamicClass); var nested=nav.getElementsByTagName('ul'); for(var i=0;i<nested.length;i++){ triggerLink=nested[i].parentNode.getElementsByTagName('a')[0]; DOMhelp.cssjs('add',triggerLink.parentNode,sn.parentClass); DOMhelp.addEvent(triggerLink,'click',sn.changeSection,false); triggerLink.οnclick=DOMhelp.safariClickFix; if(nested[i].parentNode.getElementsByTagName('strong').length>0){ DOMhelp.cssjs('add',triggerLink.parentNode,sn.openClass); DOMhelp.cssjs('add',nested[i],sn.showClass); } } }, changeSection:function(e){ var t=DOMhelp.getTarget(e); var firstList=t.parentNode.getElementsByTagName('ul')[0]; if(DOMhelp.cssjs('check',firstList,sn.showClass)){ DOMhelp.cssjs('remove',firstList,sn.showClass) DOMhelp.cssjs('swap',t.parentNode,sn.openClass,sn.parentClass); } else { DOMhelp.cssjs('add',firstList,sn.showClass) DOMhelp.cssjs('swap',t.parentNode,sn.openClass,sn.parentClass); } DOMhelp.cancelClick(e); } } DOMhelp.addEvent(window,'load',sn.init,false); --> </script> <h2>js实现无限级树形导航列表</h2> <ul id="nav"> <li><a href="#">主页</a></li> <li><a href="#">产品</a> <ul> <li><a href="#">大类别一</a> <ul> <li><a href="#">小类别一</a> <ul> <li><a href="#">次类别一</a></li> <li><a href="#">次类别二</a></li> </ul> </li> <li><a href="#">小类别二</a></li> </ul> </li> <li><a href="#">大类别二</a></li> <li><a href="#">大类别三</a> <ul> <li><a href="#">小类别一</a></li> <li><a href="#">小类别二</a></li> </ul> </li> </ul> </li> <li><a href="#">服务</a> <ul> <li><a href="#">大类别一</a></li> <li><a href="#">大类别二</a></li> <li><a href="#">大类别三</a></li> </ul> </li> <li><a href="#">合作</a></li> <li><a href="#">关于我们</a> <ul> <li><a href="#">大类别一</a> <ul> <li><a href="#">小类别一</a></li> <li><a href="#">小类别二</a></li> </ul> </li> <li><a href="#">大类别二</a> <ul> <li><a href="#">小类别一</a></li> <li><a href="#">小类别二</a></li> </ul> </li> <li><a href="#">大类别三</a> <ul> <li><a href="#">小类别一</a></li> <li><a href="#">小类别二</a></li> </ul> </li> <li><a href="#">大类别四</a></li> </ul> </li> <li><a href="#">联系我们</a> <ul> <li><a href="#">大类别一</a></li> <li><a href="#">大类别二</a></li> </ul> </li> </ul>

    2.

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>树形菜单2</title> <style type="text/css"> <!-- .headtd1 { background: #00A4E1; border: 2px outset; border-color: #00BBFF #0077FF #0077FF #00BBFF; cursor: hand; font-size: 9pt} .headtd2 { background: #20C1FF; border: 2px outset; border-color: #60D3FF #0077FF #0077FF #60D3FF; cursor: hand; font-size: 9pt} .bodytd { background: #99CCFF; border: 2px outset; border-color: #B0D8FF #0077FF #0077FF #B0D8FF; font-size: 9pt} --> </style> <script language="JavaScript"> scores = new Array(20); var numTotal=0;NS4 = (document.layers) ? 1 : 0;IE4 = (document.all) ? 1 : 0;ver4 = (NS4 || IE4) ? 1 : 0; if (ver4) { with (document) { write("<STYLE TYPE='text/css'>"); if (NS4) { write(".parent {position:absolute; visibility:visible}"); write(".child {position:absolute; visibility:visible}"); write(".regular {position:absolute; visibility:visible}") } else { write(".child {display:none}") } write("</STYLE>"); }}function getIndex(el) { ind = null; for (i=0; i<document.layers.length; i++) { whichEl = document.layers[i]; if (whichEl.id == el) { ind = i; break; } } return ind;}function arrange() { nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height; for (i=firstInd+1; i<document.layers.length; i++) { whichEl = document.layers[i]; if (whichEl.visibility != "hide") { whichEl.pageY = nextY; nextY += whichEl.document.height; } }}function initIt(){ if (!ver4) return; if (NS4) { for (i=0; i<document.layers.length; i++) { whichEl = document.layers[i]; if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide"; } arrange(); } else { divColl = document.all.tags("DIV"); for (i=0; i<divColl.length; i++) { whichEl = divColl(i); if (whichEl.className == "child") whichEl.style.display = "none"; } }}function expandIt(el) { if (!ver4) return; if (IE4) { whichEl1 = eval(el + "Child"); for(i=1;i<=numTotal;i++){ whichEl = eval(scores[i] + "Child"); if(whichEl!=whichEl1) { whichEl.style.display = "none"; } } whichEl1 = eval(el + "Child"); if (whichEl1.style.display == "none") { whichEl1.style.display = "block"; } else { whichEl1.style.display = "none"; } } else { whichEl = eval("document." + el + "Child"); for(i=1;i<=numTotal;i++){ whichEl = eval("document." + scores[i] + "Child"); if(whichEl!=whichEl1) { whichEl.visibility = "hide"; } } if (whichEl.visibility == "hide") { whichEl.visibility = "show"; } else { whichEl.visibility = "hide"; } arrange(); }}onload = initIt; </script> <script language="JavaScript"> <!-- //该函数在调用过程中只需要在将要点击的单元格内的onclick事件中调用showme函数即可 //function showme(obj1, obj2)该函数主要为使点击的对象高亮度显示,并调用moveme函数,参数obj1为母体即<div>标签的id,obj2为点击对象本身 //function moveme(obj)该函数判断单元的移动,并调用相应的函数处理,obj参数为母体 //function moveup(obj,objtop)该函数使一个单元向上移动,参数obj为母体,objtop为母体的本身最高高度 //function movedown(obj,objbuttom)该函数使一个单元向下移动,参数obj为母体,objbuttom为母体的本身最低高度 var headHeight = 22;//每个标题的高度 var bodyHeight = 160;//母体高度 var objcount = 6;//项目的个数,要改变了项目的个数别忘了该这个东西 var step = 6;//移动速度(请确认可以被'bodyHeight-headHeight'整除,当前的设定可选速度为1,2,3,6,23,138) 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> </head> <body> <!--改改这个div(mainboard)的height,加一个项目当然要把它的值加22了,减一个项目当然就是减22了//--> <div id="mainboard" style="position:absolute; left:2px; top:2px; width:120px; height:270px; z-index:3; overflow: hidden; background: #0099FF;" onClick=""> <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="headtd2" onClick="showme(item1body,this)"> <div align="center">工作室</div> </td> </tr> <tr> <td class="bodytd"> <div id='KB1Parent' > <a href="#" onClick="expandIt('KB1');"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类一</a></div> <div id='KB1Child' > <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a> </div> <div id='KB2Parent' > <a href="#" onClick="expandIt('KB2');"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类二</a></div> <div id='KB2Child' class='child'> <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a></div> <div id='KB3Parent' ><a href="#" onClick="expandIt('KB3');"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类三</a></div><div id='KB3Child' class='child'> <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a></div> <div id='KB4Parent' ><a href="#" onClick="expandIt('KB4');"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类四</a></div><div id='KB4Child' class='child'> <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a></div> <div id='KB5Parent' > <a href="#" onClick="expandIt('KB5'); return false"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类五</a></div><div id='KB5Child' class='child'> <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a></div> <div id='KB6Parent' ><a href="#" onClick="expandIt('KB6'); return false"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类六</a></div><div id='KB6Child' class='child'> <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a></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="headtd1" onClick="showme(item2body,this)"> <div align="center">邮箱</div> </td> </tr> <tr> <td class="bodytd"> <div id='KB7Parent' > <a href="#" onClick="expandIt('KB7');"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类一</a></div> <div id='KB7Child' > <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a> </div> <div id='KB8Parent' > <a href="#" onClick="expandIt('KB8');"> <IMG SRC='http://img.alixixi.com/icon_indextool.gif' BORDER=0>分类二</a></div> <div id='KB8Child' class='child'> <a href='time1.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0001</a> <a href='time2.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0002</a> <a href='time8.htm' target='_target'> <IMG SRC='http://img.alixixi.com/li01.gif' BORDER=0>0003</a></div> <SCRIPT> numTotal=8; scores[1]='KB1'; scores[2]='KB2'; scores[3]='KB3'; scores[4]='KB4'; scores[5]='KB5'; scores[6]='KB6'; scores[7]='KB7'; scores[8]='KB8' </SCRIPT> </td> </tr> </table> <p class="headtd1"> </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="headtd1" onClick="showme(item3body,this)"> <div align="center">Q Q</div> </td> </tr> <tr> <td class="bodytd"> <div align="center">37146743</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="headtd1" onClick="showme(item4body,this)"> <div align="center">朋友</div> </td> </tr> <tr> <td class="bodytd"> <div align="center"> <p>小一、旁腾 </p> </div> </td> </tr> </table> </div> <div id="item5body" style="position:absolute; left:0; top:226; width:120px; height:160; z-index:4; 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)"> <div align="center">陌生人</div> </td> </tr> <tr> <td class="bodytd"> <div align="center"> <p>小虎 AAP 小伙伴 小一</p> </div> </td> </tr> </table> </div> <!--如果要添加一个子项目请拷贝一份下面的代码并放于后面。干什么,不要拷贝我了,是下面的//--> <div id="item6body" style="position:absolute; left:0; top:248; width:120px; height:160; z-index:4; 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)"> <div align="center">版本号</div> </td> </tr> <tr> <td class="bodytd"> <div align="center"> <p>版本号:1.1 封锁了移动过 程中的点击事件 这样不会出现抖 动现象了。 </div> </td> </tr> </table> </div> <!--哎哎,别往下拷贝了,到我得上面为止了,拷贝到代码放到我后面吧 哦,对了别忘了改几个id呀,div的id,td的id,还有onclick事件中的对象id id的规则是div中item+数字+body。td中item+数字+head 还有div的style中的top值呀,是多少,上面这个div的top加上22就是了 别忘了按照body下的提示改改mainboard的height呀。还有给教本中的objcount数量改为你现在项目的个数 别傻了,快点行动吧,要不赶不上饭点了//--> </div> </body> </html> <a href="http://js.alixixi.com/">欢迎访问阿里西西网页特效代码站,js.alixixi.com</a>
    [提示:可先修改代码再按运行]

2个通用js树型导航相关推荐

  1. php 菜单目录树,css实现的目录树型导航菜单

    我这个导航效果是在纵向导航菜单制作的基础上,加入鼠标点击主目录的显示隐藏效果,修改的是DIV代码: onClick="document.getElementByIdx_x('child1') ...

  2. php通用的树型类创建无限级树型菜单

    生成树型结构所需要的2维数组,var $arr = array()数组格式如下: array( 1 => array('id'=>'1','parentID'=>0,'name'=& ...

  3. 强大的Js树型控件Dtree使用详解

    http://www.lmwlove.com/ac/ID868 在学习文章之前,要学会看官方网站http://destroydrop.com/javascripts/tree.从官方页面你能知道:dt ...

  4. dtree.js树的使用

    2019独角兽企业重金招聘Python工程师标准>>> JS组件dtree轻松实现树型菜单:详细介绍应用dtree构建一个JavaScript树型菜单及其中参数配置说明 这几天写个网 ...

  5. CSS+JS灰色树型菜单导航代码

    代码简介: CSS+JS打造的树型菜单,没有怎么美化,颜色看上去也不很美,提供一种思路,真想用的朋友好好修改一下颜色,里面都有注释,相信通过你的努力,它最终的效果一定很漂亮. 代码内容: <!D ...

  6. HTML模仿QQ好友列表,JS+CSS实现类似QQ好友及黑名单效果的树型菜单

    本文实例讲述了JS+CSS实现类似QQ好友及黑名单效果的树型菜单.分享给大家供大家参考.具体如下: 今天介绍的这个菜单堪称极品啊,不过里面的有些图标丢失了,路径还留在那,真想使用的朋友自己制作两个折叠 ...

  7. 下拉的DIV+CSS+JS二级树型菜单,刷新无影响

    二级菜单,不论展开几个栏目,刷新不影响! Code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  8. DIV+CSS+JS二级树型菜单,刷新无影响

    二级菜单,不论展开几个栏目,刷新不影响! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  9. html菜单树实现原理,HTML_DIV+CSS构成树型菜单,这是用DIV+CSS+JS构成的树型菜单 - phpStudy...

    DIV+CSS构成树型菜单 这是用DIV+CSS+JS构成的树型菜单,采用列表,符合WEB标准,在大多数WIN浏览器下,兼容性不错, xhtml见效果页,我现在做的是二个菜单,如果需要添加,可把 .. ...

最新文章

  1. c++ 交换变量实践
  2. 线程的几种状态_拜托:不要再问我线程有多少种状态了
  3. CentOS下配置HTTPS访问主机并绑定访问端口号
  4. iOS - 设置导航栏之标题栏居中、标题栏的背景颜色
  5. 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集...
  6. 吴恩达深度学习笔记_Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...
  7. PAT (Basic Level) Practice (中文)答案合集
  8. ubuntu good 便签
  9. python课堂笔记之django-day02(11)
  10. 最值得收藏的 算法分析与设计 全部知识点思维导图整理(北大慕课课程)
  11. PHP利用SMTP发送邮件,测试ok
  12. 角色权限管理系统(角色功能授权)
  13. Java问题---扑克牌
  14. 新手lbw + 《软件工程(C编码实践篇)》MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006
  15. linux who命令功能,Linux who命令详解
  16. 关于网络知识一些笔记(个人2022.06)
  17. zbb20170728 oracle 查看被锁对象
  18. 深入理解常见的二十三种设计模式
  19. html中段落标志中标注文件子标题的是,Macromedia网页设计认证部分试题
  20. Python实现京东价格监控

热门文章

  1. 第16届电源技术专题研讨会
  2. 北京大学2016年高等代数与解析几何考研试题
  3. 服务器磁盘扩展容量操作流程
  4. 2014-4-2学习笔记(Linux从入门到精通 刘忆智 清华大学出版社)
  5. VS2005常用插件
  6. Postgres-XL数据库集群在RedHat/Fedora/Oracle/CentOS平台上的搭建
  7. Oracle性能调优方法
  8. 阿里巴巴集团的几十款著名开源项目(Java)
  9. life game c语言,c++生命游戏源码
  10. VMware配置网络,主机互通,可上网