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 相关文章推荐
firefox插件Firebug的使用教程
Jan 02 Javascript
JS高级拖动技术 setCapture,releaseCapture
Jul 31 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
js分页工具实例
Jan 28 Javascript
js编写的treeview使用方法
Nov 11 Javascript
vue2.0 datepicker使用方法
Feb 04 Javascript
vue cli使用融云实现聊天功能的实例代码
Apr 19 Javascript
vue store之状态管理模式的详细介绍
Jun 13 Javascript
JavaScript学习教程之cookie与webstorage
Jun 23 Javascript
微信小程序商品详情页底部弹出框
Nov 22 Javascript
JS前端监控采集用户行为的N种姿势
Jul 23 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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
JSON取值前判断
2014/12/23 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
React进阶学习之组件的解耦之道
2017/08/07 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python中的pprint折腾记
2015/01/21 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
Python批量更改文件名的实现方法
2017/10/29 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
python绘制封闭多边形教程
2020/02/18 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
python批量修改文件名的示例
2020/09/27 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
产品开发计划书
2014/04/27 职场文书
个人违纪检讨书
2014/09/15 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
会议承办单位欢迎词
2019/07/09 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python