<script type="text/javascript" src="http://www.cnblogs.com/jq.js"></script> .active { color: red; } //html代码 <ul id="tab2"> <li><a href="http://www.cnblogs.com/index.html">首页</a></li> <li><a href="http://www.cnblogs.com/news.html">新闻</a></li> <li><a href="http://www.cnblogs.com/about.html">关于</a></li> <li><a href="http://www.cnblogs.com/job.html">工作</a></li> <li><a href="http://www.cnblogs.com/ad.html">广告</a></li> <li><a href="http://www.cnblogs.com/contactus.html">联系我们</a></li> </ul> //jq代码 $(function(){ window.onload=function(){
var $tDiv = $("#tab2"), $links = $tDiv.find("a"), index = 0,//默认第一个菜单项 url = location.href.split(‘?‘)[0].split(‘/‘).pop().toLocaleLowerCase();//取当前URL最后一个 / 后面的文件名全部转化为小写的 if(url){//如果有取到, 则进行匹配, 否则默认为首页(即index的值所指向的那个) for (var i=$links.length; i--;) {//遍历 menu 的中连接地址 if($links[i].href.toLocaleLowerCase().indexOf(url) !== -1){ index = i; break; } } } //links[index].className = ‘active‘; $menu.find("a:eq(" + index + ")").addClass("active"); }})
点击的事件是超链接a的链接地址触发,主要需要实现的步骤是:
1.在页面正在加载的时候同时执行js脚本,主要利用的是window.onload()
2.获取到页面的链接的地址,该地址是除去带有的参数以后的最后一个数值并获取该值
3.跟其点击的超链接的链接地址做相应的比较,通过indexOf获取位置的判断来参看是否是该超链接的链接地址
4.找到该链接所属的超链的位置,加上相应的class类名
时间: 2024-11-14 11:58:53