js实现改进的仿蓝色论坛导航菜单效果代码


本文整理自网络,侵删。

本文实例讲述了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][版主安装测试通过]

ucenter 1.5.0 安装教程(图文版)

伪静态url中文乱码问题解决方法

论坛常用的几个推广方法分享

php下获取Discuz论坛登录用户名、用户组、用户id等信息的实现代码

完美转换mysql的字符集 解决查看utf8源文件中的乱码问题

ubuntu+nginx+mysql+php+zend+eaccelerator安装配置文字版

基于python爬取51cto博客页面信息过程解析

discuz 论坛注册的时候提示 内部错误,无法显示此内容的解决方法

更多相关阅读请进入《Discuz论坛》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...