时间:2019-05-06
浏览量:
做网站过程中,网站导航菜单里会有很多的导航栏目,在企业网站建设过程中,为了让用户知道自己所处的栏目,我们会将网站导航菜单点击后,所点击的当前样式有变化,呈现高亮显示。如下图:
如何实现这种网站导航菜单点击当前样式高亮显示的效果呢?这需要使用JS特效代码才能实现。下面以一个案例给大家介绍一下实现方法:
HTML代码写法:
<ul id="meau_nav"> <li><a href="a.html" class="active"></a></li> <li><a href="b.html"></a></li> <li><a href="c.html"></a></li> <li><a href="d.html"></a></li> </ul>
JS代码写法:
<script> //获取div下面所有的a标签(返回节点对象) var myNav = document.getElementById("meau_nav").getElementsByTagName("a"); //获取当前窗口的url var myURL = document.location.href; //循环div下面所有的链接, for(var i=1;i<myNav.length;i++){ //获取每一个a标签的herf属性 var links = myNav[i].getAttribute("href"); var myURL = document.location.href; //查看div下的链接是否包含当前窗口,如果存在,则给其添加样式 if(myURL.indexOf(links) != -1){ myNav[i].className="active"; myNav[0].className=""; } } </script>
CSS代码写法:(控制点击后的样式)
.active{color:red;font-weight:600;}
原理:
通过JS来循环判断当前页面的URL与导航栏目中哪个URL地址相同,如果相同就给标签的超链接标签添加一个.active的类名,然后再通过CSS控制.active的样式。
RELATED RECOMMEND