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 相关文章推荐
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
Mar 21 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
Oct 22 Javascript
JS折半插入排序算法实例
Dec 02 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 Javascript
jQuery之动画效果大全
Nov 09 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
Angular.js中控制器之间的传值详解
Apr 24 Javascript
详解webpack性能优化——DLL
Oct 20 Javascript
javaScript之split与join的区别(详解)
Nov 08 Javascript
ES6 中可以提升幸福度的小功能
Aug 06 Javascript
送你43道JS面试题(收藏)
Jun 17 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 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
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
php HandlerSocket的使用
2011/05/02 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
php获取参数的几种方法总结
2014/02/18 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
php邮件发送的两种方式
2020/04/28 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
js实现数字滚动特效
2019/12/16 Javascript
Python3中多线程编程的队列运作示例
2015/04/16 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
Python中的取模运算方法
2018/11/10 Python
Python正则表达式和元字符详解
2018/11/29 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
中式面点餐厅创业计划书
2014/01/29 职场文书
小学领导班子对照材料
2014/08/23 职场文书
小学英语复习计划
2015/01/19 职场文书
丧事主持词
2015/07/02 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
Python Pandas解析读写 CSV 文件
2022/04/11 Python