随着用户点击导航或菜单上不同的页面,出现此选项高亮显示或变为一个新的样式是经常用到的。实现它所用的原理就是通过js中的location.href得到当前页面的地址,然后在与导航上的链接地址匹对,相同的就用一个css样式标记。此方法支持动态链接和静态链接多种形式。

实现代码:

<script type="text/javascript" src="http://www.daixiaorui.com/Public/js/jquery.min.js"></script>

<style>

.menu { padding:0; margin:0; list-style-type:none;}

.menu li { background:#FFD1A4; margin-right:1px; float:left; color:#fff; }

.menu li a { display:block; width:80px; text-align:center; height:32px; line-height:32px; color:#fff; font-size:13px; text-decoration:none;}

.cur{ background:#D96C00; font-weight:bold;}

</style>

<ul class="menu" id="menu">

<li><a href="demo.html">首页</a></li>

<li><a href="te1.html">PHP综合</a></li>

<li><a href="te2.html">Ecshop</a></li>

</ul>

<script type="text/javascript">

var urlstr = location.href;

//alert((urlstr + '/').indexOf($(this).attr('href')));

var urlstatus=false;

$("#menu a").each(function () {

if ((urlstr + '/').indexOf($(this).attr('href')) > -1&&$(this).attr('href')!='') {

$(this).addClass('cur'); urlstatus = true;

} else {

$(this).removeClass('cur');

}

});

if (!urlstatus) {$("#menu a").eq(0).addClass('cur'); }

</script>

演示1(静态链接的效果):http://www.daixiaorui.com/Public/demo/js/navCur/demo.html

演示2(动态链接的效果):http://www.daixiaorui.com/Public/demo/js/navCur/demo1.html?aa=1

用js实现导航菜单点击切换选中时高亮状态的更多相关文章

  1. 用js实现超链接导航菜单点击切换选中时的状态

    项目中使用到点解导航切换不同的颜色,如果只是li选项卡还好办,这次用到的超链接选项卡,因为a链接每次点击都会刷新,所以浏览器记不住点击的状态,也没法切换点击状态,因为项目中有好多地方要用到,在网上找了 ...

  2. Maven问题总结:Eclipse中项目右键菜单中点击Maven->Update Projects时JDK被重置

    Eclipse中在项目右键菜单点击->Maven->Update Projects时,JDK总是切回 1.5 如果没有在Maven中配置过JDK版本,只是在Eclipse中项目的Prope ...

  3. Taro button点击切换选中状态

    1.引入组件 2.state中设置选中状态 // button按钮的默认选中,0代表选中 state = { currentIndex: 0 } 3.设置class的样式,点击更改选中 selectN ...

  4. 导航菜单点击图片切换--jquery

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. JS——树形导航菜单(html的ul嵌套,jQuery的css(),show(),hide(),index()等方法)

    必备工具:jquery库文件.我这里用的是1.4版本的. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  6. FragmentTabHost切换Fragment时保存状态,避免切换Fragment走onCreateView和onDestroyView方法;

    FragmentTabHost这个控件每次切换Fragment,都会走Fragment的onCreateView和onDestroyView方法,多以每次切换都会创建和销毁Fragment实例,先来看 ...

  7. [Asp.Net Core] Blazor Server Side 项目实践 - 切换页面时保留状态

    前言: 这是 项目实践系列 , 算是中高级系列博文, 用于为项目开发过程中不好解决的问题提出解决方案的. 不属于入门级系列. 解释起来也比较跳跃, 只讲重点. 因为有网友的项目需求, 所以提前把这些解 ...

  8. js设置输入框失去光标与光标选中时样式

    输入框样式 <script language="javascript" type="text/javascript"> function glb_s ...

  9. Angular+Bootstrap3导航菜单

    Angular+Bootstrap3导航菜单 AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统.angularjs是由Google团队开发的一款非常优秀 ...

随机推荐

  1. lightoj1082 线段树

    //Accepted 5596 KB 396 ms //线段树求区间最小值 #include <cstdio> #include <cstring> #include < ...

  2. UIkit框架之UIalert(iOS 9之后就不用这个了)

    IOS中UIAlertView(警告框)常用方法总结 一.初始化方法 - (instancetype)initWithTitle:(NSString *)title message:(NSString ...

  3. How many instances created in the WebContainer

    When the Servlet container starts, it: reads web.xml; finds the declared Servlets in the classpath; ...

  4. python3爬虫初探(五)之从爬取到保存

    想一想,还是写个完整的代码,总结一下前面学的吧. import requests import re # 获取网页源码 url = 'http://www.ivsky.com/tupian/xiaoh ...

  5. Supermarket_贪心

    Description A supermarket has a set Prod of products on sale. It earns a profit px for each product ...

  6. Unity3D ShaderLab BRDF模拟

    Unity3D ShaderLab BRDF模拟 在上一篇,说到了使用渐变纹理着色,使用一个值来控制纹理的uv坐标,但是这也就表示我们只能得到一个线性的光照效果. 那么我们能不能通过观察方向的向量结合 ...

  7. magento首页调用最新产品

    这个需要我们自己添加一个block块供我们调用,可参考new products的block类,建立文件app/code/core/Mage/Catalog/Block/Product/Special. ...

  8. MySQL表名、列名区分大小写详解

    前言:出现的问题 在本地数据库上执行修改银行卡没有报错 但线上执行报错 发现是表找不到,发现表名不对应该是card_cardinfo,但本地上没有问题,能正常修改,然后在数据库里测试,发现本地库(wi ...

  9. cocos引擎v2.1版本android 编译问题解决办法 (cocos2d-x-3.4rc1)

    下载了最新版的cocos v2.1.2beta,使用cocos.exe来创建项目,而且在最下方的附件功能里还勾选了“支持x86架构cpu”这个选项,导致使用build_native.py编译不通过,以 ...

  10. Iptables 规则 一些简单实例和详细介绍

    设定规则 iptables -p INPUT DROP iptables -p OUTPUT ACCEPT iptables -p FORWARD DROP 1.防止外网用内网IP欺骗 iptable ...