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 相关文章推荐
Prototype使用指南之dom.js
Jan 10 Javascript
JQUERY 设置SELECT选中项代码
Feb 07 Javascript
jquery插件unobtrusive实现片段式加载
Jun 15 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
Dec 14 Javascript
jQuery实现动态添加tr到table的方法
Dec 26 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
Feb 11 Javascript
Angular.JS中的指令引用template与指令当做属性详解
Mar 30 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
Aug 15 Javascript
bootstrap实现二级下拉菜单效果
Nov 23 Javascript
Node.js进阶之核心模块https入门
May 23 Javascript
JavaScript对象字面量和构造函数原理与用法详解
Apr 18 Javascript
使用typescript快速开发一个cli的实现示例
Dec 09 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
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
通俗易懂的php防注入代码
2010/04/07 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
pycharm 使用心得(四)显示行号
2014/06/05 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python文件操作相关知识点总结整理
2016/02/22 Python
Python检测生僻字的实现方法
2016/10/23 Python
Python中元组,列表,字典的区别
2017/05/21 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Django CBV类的用法详解
2019/07/26 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
大学生学习党课思想汇报
2014/01/03 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
Flutter集成高德地图并添加自定义Maker的实践
2022/04/07 Java/Android