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 相关文章推荐
Javascript new关键字的玄机 以及其它
Aug 25 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
Nov 30 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 Javascript
基于jquery实现控制经纬度显示地图与卫星
May 20 Javascript
js document.write()使用介绍
Feb 21 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
bootstrap快速制作后台界面
Dec 05 Javascript
jquery实现输入框实时输入触发事件代码
Dec 21 Javascript
Node.js获取前端ajax提交的request信息
Feb 20 Javascript
vue 组件高级用法实例详解
Apr 11 Javascript
使用JS获取页面上的所有标签
Oct 18 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
Apr 18 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
几个学习PHP的网址
2006/11/25 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
Python sys.path详细介绍
2013/10/17 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
Python 实现自动导入缺失的库
2019/10/29 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
Python pandas如何向excel添加数据
2020/05/22 Python
Python extract及contains方法代码实例
2020/09/11 Python
用python批量移动文件
2021/01/14 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
新春联欢会主持词
2014/03/24 职场文书
护理专科学生自荐书
2014/07/05 职场文书
语文教师个人工作总结
2015/02/06 职场文书
禁毒心得体会范文
2016/01/15 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
SQL Server使用导出向导功能
2022/04/08 SQL Server