本文整理自网络,侵删。
本文实例讲述了js实现改进的仿蓝色论坛导航菜单效果代码。分享给大家供大家参考。具体如下:
这是一款改进的仿蓝色论坛导航菜单,滑动门级的导航菜单,网址跟踪链接的JS导航菜单,可以支持二级的菜单。为改善用户体验,加了延时。其原理是将链接地址和网址比较,如果一致,则加强该链接和上级链接的显示。
运行效果截图如下:
在线演示地址如下:
http://demo.jb51.net/js/2015/js-f-blue-color-style-bbs-menu-codes/
具体代码如下:
<html> <head> <title>改进的仿蓝色论坛导航菜单</title> <style> body{WIDTH:760px;margin:0 auto;padding:0;text-align:center} #mch{ WIDTH:760px; margin:0; text-align:center; } #mch ul { padding: 0; margin: 0; list-style: none; } #mch li { list-style: none; float: left; margin:0 auto; padding: 0; line-height:16px; } #mch li div{} #mch li ul { position:relative; display: none; } #mch li:hover #mch ul, #mch li.over ul { display: block; } #mch li.over{background:#147202;height:26px;} #mch ul li a{ display:block; font-size:12px; padding:5px 23px 3px 23px; text-decoration: none; color: #ffffff; } #mch ul li a:hover{ background-color:#199501; } #mch .lib ul li a{ float:left; display:block; width:auto; margin:4px 0 0 0; padding:2px 4px 0 4px; text-align:center; text-decoration:none; color:#ffffff; } #mch .lib a:hover{ text-decoration:none; color: #ff2200; } #mch .lib{margin:0 3px 0 0;} #mch ul .lib ul li{ position:absolute; float:left; padding:0; margin:2px 2px 2px 0px; height:25px; top:0;left:0; width:760px; background:#147202; } #mch .lib li a{ display:block; font-size:12px; padding:4px 3px; margin-right:1px; text-decoration: none; color: #199501; } #mch .lib li a:hover{background:#199501;} </style> </head> <body> <div id="mch"></div> <script> var m_path="/"; var dPu="wisdom"; </script> <script> if(typeof(m_path)=='undefined')var m_path=""; function QueryString( paramName ) { var oRegex = new RegExp('[\?&]' + paramName + '=([^&]+)','i') ; var oMatch = oRegex.exec(window.location.search) ; if (oMatch && oMatch.length>1) return oMatch[1]; else return null; } navdata='<ul id="nav">'+ '<li class="lib"><a target="_self">首</a><ul><li><A >新浪</A></span> <A >网易</A> <A >QQ</A> <A >雅虎中国</A> <A >百度</A> <A >Google搜索</A> <a >About</a> <a >USAToday</a> <a >NewsNow</a> <a >BBC</a> <a >CNN</a> <a >Alexa</a> <a >网址导航</a></li></ul></li>'+ '<li class="lib"><a target="_self">春 秋</a><ul><li><A >故事传说</A> <A >生肖星座</A> <A >姓氏宗亲</A> <A >周易八卦</A> <A >名言谚语</A> <A >民俗节会</A> <A >密方绝活</A> <A >百家争鸣</A> <A >异域采风</A> <A >现代文化</A> <A >人文景点</A> <A >龙的传人</A></li></ul></li>'+ '<li class="lib"><a target="_self">乐 府</a><ul><li><A >娱乐动态</A> <A >华语</A> <A >日韩</A> <A >欧美</A> <A >摇滚</A> <A >图片</A> <A >人物</A> <A >古典</A> <A >影视</A> <A >综艺</A> <A >非主流</A> <A >乐评</A><a style="padding:0;"></a></li></ul></li>'+ '<li class="lib"><a target="_self">学 院</a><ul><li><a >理学 哲学 玄学 文学</a></li></ul></li>'+ '<li class="lib"><a target="_self">行 之</a><ul><li><a >学习经验 科技探索 文化研究 社会实践 哲理感悟</a></li></ul></li>'+ '<li class="lib"><a target="_self">时 记</a><ul><li><a >真人真事 自己的事 没有的事 过去的事 怕忘的事 八面来风 就事论是</a><a style="padding:0;"></a></li></ul></li>'+ '<li class="lib"><a target="_self">易 流</a><ul><li><a >招业</a> <a >酷</a></li></ul></li>'+ '<li class="lib"><a target="_self">文</a><ul><li><a >发布到>></a><A target=_blank>网页天堂</A> <A target=_blank>阿酷作家</A> <A target=_blank>好邻里</A> <A target=_blank>万目网</A> <A target=_blank>第五电影</A> <A target=_blank>心地家园</A> <A target=_blank>日月峡</A> <A target=_blank>佛教博客</A> <A target=_blank>求知求是</A> <A target=_blank>八强网</A> <A target=_blank>>>更多网站</A></li></ul></li>'+ '<li class="lib"><a target="_self">首</a><ul><li><A >新浪</A></span> <A >网易</A> <A >QQ</A> <A >雅虎中国</A> <A >百度</A> <A >Google搜索</A> <a >About</a> <a >USAToday</a> <a >NewsNow</a> <a >BBC</a> <a >CNN</a> <a >Alexa</a> <a >网址导航</a></li></ul></li>'+ '</ul>'; document.getElementById('mch').innerHTML=navdata; var dfr,dfrover,thsobj,thsobjover; if(typeof(dPu)=="undefined")var dPu=document.location.pathname.replace(/(.*\/){0,}([^\.]+).*/ig,"$2"); if(dPu==""||dPu=="/")dPu="default"; //var thslft=; function startList(dg) { if (document.getElementById) { var navRoot = document.getElementById("nav"); for (i=0; i<navRoot.childNodes.length; i++) { node = navRoot.childNodes[i]; if (node.nodeName=="LI") { var nA=node.getElementsByTagName('a'); nA[0].style.background="#199501"; node.className=node.className.replace(" over", ""); if((dg==0||dg==3)&&node.parentNode==navRoot){ node.getElementsByTagName('li')[0].style.left=-node.offsetLeft+document.getElementById('mch').getElementsByTagName('li')[0].offsetLeft+"px"; node.onmouseover=function() { thsobjover=this; clearTimeout(dfr); dfrover=setTimeout("startList(1);thsobjover.className+=' over';thsobjover.getElementsByTagName('a')[0].style.background='#147202';",200); } node.onmouseout=function() { thsobj=this; clearTimeout(dfrover); dfr=setTimeout("thsobj.getElementsByTagName('a')[0].style.background='#199501';thsobj.className=thsobj.className.replace(' over','');startList(2);",2000); } } if(dg==1||dg==3) continue; for(j=0;j<nA.length;j++){ if(nA[j].pathname.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")==dPu){ node.className+=" over"; nA[0].style.background="#147202"; nA[0].style.fontWeight="800"; if(j>0)nA[j].style.background="#199501"; nA[j].onclick=function(){this.blur();return false} dg=3; } } } } } } startList(0); </script> </body> </html>
希望本文所述对大家的JavaScript程序设计有所帮助。
更多相关Discuz论坛的内容来自木庄网络博客
标签:Discuz论坛
相关阅读 >>
discuz! 6.0.1 (searchid) remote sql injection exploit
首页四格,首页五格for6.0(gbk)(utf-8)[12种组合][9-18][版主安装测试通过]
php下获取Discuz论坛登录用户名、用户组、用户id等信息的实现代码
完美转换mysql的字符集 解决查看utf8源文件中的乱码问题
ubuntu+nginx+mysql+php+zend+eaccelerator安装配置文字版
discuz 论坛注册的时候提示 内部错误,无法显示此内容的解决方法
更多相关阅读请进入《Discuz论坛》频道 >>