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表格内容过滤的实现方法
Jul 05 Javascript
node.js中的fs.exists方法使用说明
Dec 17 Javascript
JavaScript使用function定义对象并调用的方法
Mar 23 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
CSS或者JS实现鼠标悬停显示另一元素
Jan 22 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
Aug 17 Javascript
node.js中http模块和url模块的简单介绍
Oct 06 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
element-ui 关于获取select 的label值方法
Aug 24 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
详解 PHP加密解密字符串函数附源码下载
2015/12/18 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
对Python random模块打乱数组顺序的实例讲解
2018/11/08 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
中专毕业生自荐信
2013/11/16 职场文书
2014年度安全工作总结
2014/12/04 职场文书
单位推荐信范文
2015/03/27 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js