css导航条判断当前页面高亮效果显示

html-css024

css导航条判断当前页面高亮效果显示,第1张

一般当前高亮都是后台程序判断实现的,不是css做的,要用css做也行,只是麻烦点,要给每个栏目的<body>加上ID,这样做造成的麻烦是弄后台程序的时候不能把<body>这行直接写入页头包含文件之中:

下面代码每个body都有自己的ID来识别当前是什么栏目,导航栏每个li也加了class:

------------首页html------------

<body id="home">

<div class="menu">

<ul>

<li class="home"><a>首页</a></li>

<li class="about"><a>介绍</a></li>

<li class="news"><a>新闻</a></li>

<li class="job"><a>招聘</a></li>

</ul>

</div>

</body>

------------介绍页html------------

<body id="about">

...

</body>

------------新闻页html------------

<body id="news">

...

</body>

===============

Css code:

===============

/*导航按钮的默认样式*/

.menu li a{color:#000}

/*当前栏目高亮样式*/

#home .menu .home a ,

#about .menu .about a ,

#news .menu .news a ,

#job .menu .job a{color:red}

<script language="javascript">

<!--

function changeEl(El){

try{

if(typeof El != "object") {

return

}

var els = document.all("ttttt")

if(typeof els == "object" &&els != null){

if(!els.length)els = [els]

for(var i in els){

els[i].setAttribute("id", "pageLinks")

}

}

El.setAttribute("id", "ttttt")

}catch (E){}

}

//-->

</script>

ID名ttttt是高亮样式,pagelinks是默认样式,调用ttttt是把这样默认的覆盖掉,这样调用<div id="pageLinks" onClick="changeEl(this)"><a href="#">123</a>

定义两个ID样式(#pageLinks和#ttttt),然后贴上我的代码,就可以了,有什么好解释滴?

多说无益,实践才是真理啊伙计

这个效果一般是通过在body中设置相应的id或者class实现的。毕竟对于大部分cms而言都得单独做模板,只要把相应页面的模板body的class或者id改一下就行。用jQuery要涉及地址判断之类的,而且,这么简单的功能,也有点大材小用了。。。

jQuery加载起来可是比页面要大,压缩后也得70k以上。