JS无限级菜单代码,与CSS结合实现
2011-07-19 14:15
821 查看
css+JavaScript无限级菜单代码,作者对兼容性的考虑也是正确的,因此菜单在兼容性该页也表现不错,在IE、火狐、傲游等众多浏览器上都表现不错。多级菜单也是朋友们能用得上的,希望大家喜欢。
http://www.ij2ee.com
http://www.ij2ee.com
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>css+js无限级菜单</title> <style type="text/css"> *{ margin:0; padding:0; border:0;} body{font:12px/130% verdana,geneva,arial,helvetica,sans-serif,宋体;}li{list-style:none;} .clearfix:after{content:" ";display:block;height:0;clear:both;visibility:hidden;}.clearfix{display:inline-block;} a:link{ color:#000; text-decoration:none; } a:visited{ color:#000; text-decoration:none; } a:hover{ color:#000; text-decoration:none; } .menu{ width:778px; height:26px; background:#fff; margin:0 auto;} .menusel{ float:left;width:100px; position:relative; height:25px; background:#ddd; line-height: 25px; margin-left: 1px; *margin-left: 0px;_margin-left: -1px;} .menusel h2{ font-size:12px; } .menusel a{ display: block;text-align:center; width:100px;border:1px solid #a4a4a4; height:25px; border-bottom:1px solid #a4a4a4; position:relative; z-index:2;} .menusel a:hover{ border:1px solid #a4a4a4; border-bottom:1px dashed #eeeeee; position:relative; z-index:2; height:25px;} .ahover a{border-bottom:1px dashed #eeeeee; background:#eeeeee; } .position{ position:absolute; z-index:1;} .menusel ul{width:125px; background:#eee; border:1px solid #a4a4a4; margin-top: -1px; position:relative; z-index:1; display:none;} .menusel .block{ display:block;} .typeul li{border-bottom:1px dashed #a4a4a4;width:125px; position:relative; float:left; } .typeul li a{ border:none;width:125px; } .typeul li a:hover{ border:none; background:#ddd;} .typeul{ margin-left:0; } .typeul ul{left:125px; top:0; position:absolute;} .fli{ margin-left: -1px; border-left:#eeeeee solid 1px;} .menusel .lli{ border:none; } </style> <script type="text/javascript">document.execCommand("BackgroundImageCache", false, true);</script><!-- IE6背景图片闪烁问题 --> </head> <body> <div class="menu"> <div id="menu1" class="menusel"> <h2><a href="http://www.codefans.net/jscss/">菜单1</a></h2> <div class="position"> <ul class="clearfix typeul"> <li><a href="#">菜单选项1-2</a></li> <li> <a href="#">菜单选项1-2</a> <ul> <li class="fli"><a href="#">菜单选项1-2-1</a></li> <li class="lli"><a href="#">菜单选项1-2-2</a></li> </ul> </li> <li><a href="http://www.codefans.net">菜单选项1-2</a></li> <li class="lli"><a href="#">菜单选项1-2</a></li> </ul> </div><!-- position --> </div><!-- menusel --> <div id="menu2" class="menusel"> <h2><a href="#">菜单2</a></h2> <div class="position"> <ul class="clearfix typeul"> <li><a href="#">菜单选项2-2</a></li> <li><a href="#">菜单选项2-2</a> <ul> <li class="fli"><a href="#">菜单选项2-2-1</a></li> <li class="lli"><a href="#">菜单选项2-2-2</a> <ul> <li class="fli"><a href="#">菜单选项2-2-1</a></li> <li class="lli"><a href="#">菜单选项2-2-2</a> </li> </ul> </li> </ul> </li> <li><a href="#">菜单选项2-2</a></li> <li class="lli"><a href="#">菜单选项2-2</a></li> </ul> </div><!-- position --> </div><!-- menusel --> <div id="menu3" class="menusel"> <h2><a href="#">菜单3</a></h2> <div class="position"> <ul class="clearfix typeul"> <li><a href="#">菜单选项3-2</a></li> <li><a href="#">菜单选项3-2</a> <ul> <li class="fli"><a href="#">菜单选项3-2-1</a></li> <li class="lli"><a href="#">菜单选项3-2-2</a> <ul> <li class="fli"><a href="#">菜单选项3-2-1</a></li> <li class="lli"><a href="#">菜单选项3-2-2</a> <ul> <li class="fli"><a href="#">菜单选项3-2-1</a></li> <li class="lli"><a href="#">菜单选项3-2-2</a></li> </ul> </li> </ul> </li> </ul> </li> <li><a href="#">菜单选项3-2</a></li> <li class="lli"><a href="#">菜单选项3-2</a></li> </ul> </div><!-- position --> </div><!-- menusel --> </div><!-- menu --> <script type="text/javascript"> for(var x = 1; x < 4; x++) { var menuid = document.getElementById("menu"+x); menuid.num = x; type(); } function type() { var menuh2 = menuid.getElementsByTagName("h2"); var menuul = menuid.getElementsByTagName("ul"); var menuli = menuul[0].getElementsByTagName("li"); menuh2[0].onmouseover = show; menuh2[0].onmouseout = unshow; menuul[0].onmouseover = show; menuul[0].onmouseout = unshow; function show() { menuul[0].className = "clearfix typeul block" } function unshow() { menuul[0].className = "typeul" } for(var i = 0; i < menuli.length; i++) { menuli[i].num = i; var liul = menuli[i].getElementsByTagName("ul")[0]; if(liul) { typeshow() } } function typeshow() { menuli[i].onmouseover = showul; menuli[i].onmouseout = unshowul; } function showul() { menuli[this.num].getElementsByTagName("ul")[0].className = "block"; } function unshowul() { menuli[this.num].getElementsByTagName("ul")[0].className = ""; } } </script> </body> </html>
相关文章推荐
- 纯CSS(无JS)实现的二级弹出菜单效果代码
- JS+CSS实现大气的黑色首页导航菜单效果代码
- 纯CSS无JS实现灰色下拉导航菜单代码
- 可拖动带动画的滑出式展开菜单代码(Js+Css实现)
- JS+CSS实现单击后的弹出菜单代码
- JS实现无限级网页折叠菜单(类似树形菜单)效果代码
- JS+CSS实现的竖向简洁折叠菜单效果代码
- 收缩展开的竖直菜单(利用JS+CSS实现_网页代码站(www.webdm.cn)
- JS+CSS实现大气的黑色首页导航菜单效果代码
- JS+CSS实现自动切换的网页滑动门菜单效果代码
- JS+CSS实现自动切换的网页滑动门菜单效果代码
- JS实现无限级网页折叠菜单(类似树形菜单)效果代码
- JS+CSS实现仿支付宝菜单选中效果代码
- JS+CSS实现的竖向简洁折叠菜单效果代码
- JS+CSS实现仿支付宝菜单选中效果代码
- JS+CSS实现大气清新的滑动菜单效果代码
- JS+CSS实现大气清新的滑动菜单效果代码
- 无限级CSS树形菜单代码
- Js+CSS实现的间断和不间断文本滚动代码
- 本日志标题:Div+Css(+Js)菜单代码及制作工具