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一般方法介绍 入门参考
Jun 21 Javascript
angularjs指令中的compile与link函数详解
Dec 06 Javascript
jquery实现简单的遮罩层
Jan 08 Javascript
jQuery插件实现适用于移动端的地址选择器
Feb 18 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
Oct 25 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 Javascript
解决Layui数据表格中checkbox位置不居中的方法
Aug 15 Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 Javascript
微信小程序bindtap事件与冒泡阻止详解
Aug 08 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 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实现基于栈的后缀表达式求值功能
2017/11/10 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
微信小程序 九宫格实例代码
2017/01/21 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
Python实现LRU算法的2种方法
2015/06/24 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
python集合是否可变总结
2019/06/20 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
使用python模拟高斯分布例子
2019/12/09 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
html5唤起app的方法
2017/11/30 HTML / CSS
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
后勤采购员岗位职责
2013/12/19 职场文书
竞争上岗实施方案
2014/03/21 职场文书
品牌宣传方案
2014/03/21 职场文书
2014和解协议书范文
2014/09/15 职场文书
人事代理委托书
2014/09/27 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
《山中访友》教学反思
2016/02/24 职场文书
公证书
2019/04/17 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书