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分页
Jun 07 Javascript
jquery中ajax学习笔记一
Oct 16 Javascript
javascript每日必学之多态
Feb 23 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
整理一些最近经常遇到的前端面试题
Apr 25 Javascript
bootstrap的常用组件和栅格式布局详解
May 02 Javascript
vue.js实现备忘录功能的方法
Jul 10 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
微信小程序实现文件、图片上传功能
Aug 18 Javascript
Vue通过provide inject实现组件通信
Sep 03 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获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
python备份文件的脚本
2008/08/11 Python
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
python事件驱动event实现详解
2018/11/21 Python
Python使用gluon/mxnet模块实现的mnist手写数字识别功能完整示例
2019/12/18 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
Django多个app urls配置代码实例
2020/11/26 Python
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
环境科学毕业生自荐信
2013/11/21 职场文书
初三英语教学计划
2015/01/23 职场文书
建议书格式
2015/02/04 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
时尚女魔头观后感
2015/06/04 职场文书