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 文件大小判断的实现代码
Apr 07 Javascript
使用JavaScript构建JSON格式字符串实现步骤
Mar 22 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 Javascript
flash遮住div问题的正确解决方法
Feb 27 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
Aug 12 Javascript
js表单提交和submit提交的区别实例分析
Dec 10 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 Javascript
详解JavaScript中基于原型prototype的继承特性
May 05 Javascript
vue中设置、获取、删除cookie的方法
Sep 21 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
Oct 25 Javascript
jquery插件实现轮播图效果
Oct 19 jQuery
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
星际中的相关伤害
2020/03/04 星际争霸
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
PHP实现添加购物车功能
2017/03/06 PHP
js资料toString 方法
2007/03/13 Javascript
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
ES5学习教程之Array对象
2017/04/01 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
python对日志进行处理的实例代码
2018/10/06 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
Android interview questions
2016/12/25 面试题
JVM是一个编译程序还是解释程序
2012/09/11 面试题
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
小学亲子活动总结
2014/07/01 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
社区安全温馨提示语
2015/07/14 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP