jQuery实现导航高亮的方法【附demo源码下载】


Posted in Javascript onNovember 09, 2016

本文实例讲述了jQuery实现导航高亮的方法。分享给大家供大家参考,具体如下:

导航是我们页面中一般都需要的一个元素,它可以说是一个站点必用的元素,没有了导航,会让人找不着北,但有时候,仅仅有了导航还不够,还需要在当前的页面中标明当前是在哪一个类别里面,这时候就有了不同的实现的方法,也就有了下文的一些介绍。

通常,我们在做导航的时候,都是由程序直接输出当前的页面的的高亮状态的样式,我们只需要定义好输出的类的高亮的样式就可以了,这样是最直接有效也是最常用的方法。

像Wordpress的导航输出,会自动输出一个高亮的类的“current”,如下图:

jQuery实现导航高亮的方法【附demo源码下载】

但有时候,我们在程序里进行包含的文件的时候,如统一的头部和底部,这时候统一的头部中有一个这样的导航,如果粗心的程序员没有无法给目前所在的目录或文件输出一个高亮的类的时候,或者有时候实现起来非常麻烦的时候,能不能有一些其实的方法来实现和补救呢?

答案是肯定的,那就是JS。

但这个根据怎样的规则给当前的这个目录或文件实现高亮呢?

最近刚好也在项目中遇到这个问题,所以通过一番的折腾,实现了效果。

我的思路是这样的,先找到当前的URL的路径,然后URL中的最后的一个文件名或目录和导航中元素的某个属性来进行匹配,匹配成功的就加上高亮的类,把别的不是当前匹配的类的高亮样式去掉,不成功的时候就返回到首页这个来进行高亮。

于是就有了下面的代码,经试验,无论是文件或是目录都可匹配成功:

THML:

<ul class="menu" id="menu">
 <li><a title="首页" href="index.html" rel="index.html">首页</a></li>
 <li ><a title="作品集" href="works.html" rel="works.html">作品集</a></li>
 <li><a title="前端库" href="web.html" rel="web.html">前端库</a></li>
</ul>

js代码:

<script type="text/javascript">
 var urlstr = location.href;
 var urlstatus=false;
 $("#menu a").each(function () {
 if ((urlstr + '/').indexOf($(this).attr('rel')) > -1&&$(this).attr('rel')!='') {
  $(this).addClass('cur'); urlstatus = true;
 } else {
  $(this).removeClass('cur');
 }
 });
 if (!urlstatus) {$("#menu a").eq(0).addClass('cur'); }
</script>

不要忘了,该脚本是基于Jquery的。

完整实例代码点击此处本站下载

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
js获取单选框或复选框值及操作
Dec 18 Javascript
appendChild() 或 insertBefore()使用与区别介绍
Oct 11 Javascript
在ASP.NET中使用JavaScript脚本的方法
Nov 12 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
Dec 28 Javascript
Javascript通过overflow控制列表闭合与展开的方法
May 15 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
jquery仿QQ登录账号选择下拉框效果
Mar 22 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
Jun 12 Javascript
js canvas仿支付宝芝麻信用分仪表盘
Nov 16 Javascript
JS控件bootstrap suggest plugin使用方法详解
Mar 25 Javascript
微信小程序实现给循环列表添加点击样式实例
Apr 26 Javascript
动态加载权限管理模块中的Vue组件
Jan 16 Javascript
JavaScript动态检验密码强度的实现方法
Nov 09 #Javascript
jquery获取easyui日期控件的值实现方法
Nov 09 #Javascript
给easyui的datebox控件添加清空按钮的实现方法
Nov 09 #Javascript
给easyui datebox扩展一个清空的实例
Nov 09 #Javascript
JS刷新父窗口的几种方式小结(推荐)
Nov 09 #Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
Nov 09 #Javascript
jquery easyui validatebox remote的使用详解
Nov 09 #Javascript
You might like
记录mysql性能查询过程的使用方法
2013/05/02 PHP
php cookie使用方法学习笔记分享
2013/11/07 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
vue父子组件通信的高级用法示例
2019/08/29 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
Python复制目录结构脚本代码分享
2015/03/06 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
财务会计专业个人求职信范本
2014/01/08 职场文书
军训自我鉴定怎么写
2014/02/13 职场文书
学生党员公开承诺书
2014/05/28 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
中班下学期个人总结
2015/02/12 职场文书
公司开除员工通知
2015/04/22 职场文书
解除租赁合同协议书
2016/03/21 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书