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 load()加载GB2312页面时出现乱码的两种方案
Sep 10 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
js实现商城星星评分的效果
Dec 29 Javascript
JS模拟实现方法重载示例
Aug 03 Javascript
AngularJS实现ajax请求的方法
Nov 22 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
JS求1到任意数之间的所有质数的方法详解
May 20 Javascript
基于JS实现父组件的请求服务过程解析
Oct 14 Javascript
7个你应该知道的JS原生错误类型
Apr 29 Javascript
何时使用Map来代替普通的JS对象
Apr 29 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
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
详解Python中的静态方法与类成员方法
2017/02/28 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
运行Python编写的程序方法实例
2020/10/21 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
餐饮主管岗位职责
2013/12/10 职场文书
房地产促销活动方案
2014/03/01 职场文书
社区服务活动总结
2014/05/07 职场文书
社区先进事迹材料
2014/05/19 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
服务明星事迹材料
2014/12/29 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers