如何实现所在页面导航高亮显示

JavaScript018

如何实现所在页面导航高亮显示,第1张

导航高亮显示当前页:

一、先定义一个CSS,比如:

<style>

.changebg{background-color:#FFCC00}

</style>

二、给导航所在的区域设置ID,这个区域我不知道你是怎么做的,比如div,td或li等,但都要设置ID,比如分别为:sy,gsjj,gsxw

三、每个页都有页名,这个一般已经设置好了。比如:首页、公司简介、公司新闻。

四、每个页上添加js代码

<div id="head">

<ul>

<li id="sy" class="li1"><a href="indexl" target="_blank">首页</a></li>

<li id="gsjj" class="li1"><a href="gsjjl" target="_blank">公司简介</a></li>

<li id="gsxw" class="li1"><a href="gsxwl" target="_blank">公司新闻</a></li>

</ul>

</div>

<script>

links="sy|gsjj|gsxw"

pagename="首页|公司简介|公司新闻"

links_in=links.split("|")

pagename_in=pagename.split("|")

for(i=0i<pagename_in.lengthi++){

if(pagename_in[i]==document.title){

document.getElementByIdx_x(links_in[i]).className="changebg"

break

}

}

</script>

在web开发中会遇到这样一个问题:当你点击某一个导航时,就让他高亮显示,其他的默认。

可以用一下两种方法解决:

1,在每一个文件中都引入头部,然后为不同的链接添加样式

缺点:比较麻烦,如果要修改样式,每个文件都要修改

2,把头部提出来,用js判断url地址,然后给当前的url加上样式(用js控制的)

<!--导航条高亮---

<!---以下是html部分,给div添加一个id--

<div class="nav_nav"

id="tabs_nav"

<a href="/"

class="active"公司首页</a<ahref="/product/product.php"

公司简介</a<ahref="/shop/map.php"雅酷地图</a<b</b<ahref="/shop/shop.php"合作商户</a<ahref="/shop/shop_search.php"商户搜索</a</div

<!---以下是js部分--

<script type="text/javascript"

//获取div下面所有的a标签(返回节点对象)

var myNav =

document.getElementByIdx_x("tabs_nav").getElementsByTagName_r("a")

//获取当前窗口的url

var myURL = document.location.href

//循环div下面所有的链接,

for(var i=1i<myNav.lengthi++){

//获取每一个a标签的herf属性varlinks = myNav[i].getAttribute("href")

var myURL =

document.location.href

//查看div下的链接是否包含当前窗口,如果存在,则给其添加样式

if(myURL.indexOf(links)!= -1){

myNav[i].className="active"

myNav[0].className=""}}

这个很有用,以后会用到~!