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 扩展方法
May 06 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
Aug 01 Javascript
jquery Mobile入门—多页面切换示例学习
Jan 08 Javascript
动态加载script文件的两种方法
Aug 15 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
JS与jQuery遍历Table所有单元格内容的方法
Dec 07 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
Jan 19 Javascript
微信小程序 确认框的实现(附代码)
Jul 23 Javascript
Vue3 源码导读(推荐)
Oct 14 Javascript
环形加载进度条封装(Vue插件版和原生js版)
Dec 04 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
Nov 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 SPL使用方法和他的威力
2013/11/12 PHP
CI框架中zip类应用示例
2014/06/17 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
Apache站点配置SSL强制跳转443
2021/03/09 Servers
使用javascript访问XML数据的实例
2006/12/27 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
2014/01/02 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
JavaScript实现区块链
2018/03/14 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python使用wxPython实现计算器
2018/01/30 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Tensorflow分类器项目自定义数据读入的实现
2019/02/05 Python
python3对接mysql数据库实例详解
2019/04/30 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
天地会口号
2014/06/17 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js