点击导航菜单,切换选中状态

效果:

思路:首先获取选中的URL,再通过正则判断是否相同,相同就加上相应的属性,不相同就去除相应的属性。

html代码

<div class="layui-container" style="padding: 0px; margin-top: 70px;">
<div class="layui-row footer-nav">
<div class="layui-col-xs2 layui-col-sm2 item">
<a href="{:url('/index/index/index')}">
<img src="/public/index/images/icon/home.png">
<div >首页</div>
</a>
</div>
<div class="layui-col-xs2 layui-col-sm2 item">
<a href="{:url('/index/index/videos')}">
<img src="/public/index/images/icon/video.png">
<div>视频</div>
</a>
</div>
<div class="layui-col-xs2 layui-col-sm2 item">
<a href="{:url('/index/index/music')}">
<img src="/public/index/images/icon/music.png">
<div>音乐</div>
</a>
</div>
<div class="layui-col-xs2 layui-col-sm2 item">
<a href="{:url('/index/index/news')}">
<img src="/public/index/images/icon/new.png">
<div>动态</div>
</a>
</div>
<div class="layui-col-xs2 layui-col-sm2 item">
<a href="{:url('/index/index/about')}">
<img src="/public/index/images/icon/about.png">
<div>关于</div>
</a>
</div>
</div>
</div> <style type="text/css">
.active{
color: red
}
</style>

JQ代码

<script type="text/javascript">
var url = location.href;
$('.item > a').each(function () {
pat = new RegExp('/index/index/index');
if (pat.test(url)){
$('.item>a').eq(0).addClass('active');
$('.item>a>img').eq(0).attr("src","/public/index/images/icon/home_selected.png");
}
pat = new RegExp('/index/index/videos');
if (pat.test(url)){
$('.item>a').eq(0).removeClass('active');
$('.item>a').eq(1).addClass('active');
$('.item>a>img').eq(1).attr("src","/public/index/images/icon/video_selected.png");
}
pat = new RegExp('/index/index/music');
if (pat.test(url)){
$('.item>a').eq(1).removeClass('active');
$('.item>a').eq(2).addClass('active');
$('.item>a>img').eq(2).attr("src","/public/index/images/icon/music_selected.png");
}
pat = new RegExp('/index/index/news');
if (pat.test(url)){
$('.item>a').eq(2).removeClass('active');
$('.item>a').eq(3).addClass('active');
$('.item>a>img').eq(3).attr("src","/public/index/images/icon/new_selected.png");
}
pat = new RegExp('/index/index/about');
if (pat.test(url)){
$('.item>a').eq(3).removeClass('active');
$('.item>a').eq(4).addClass('active');
$('.item>a>img').eq(4).attr("src","/public/index/images/icon/about_selected.png");
}
});
</script>

jq 实现切换菜单选中状态的更多相关文章

  1. vue-router + ElementUI实现NavMenu 导航菜单 选中状态的切换

    elemen-ui官方网站:http://element.eleme.io/#/zh-CN/component/menu 新手小白利用vue+element-ui尝试搭建后台管理系统, 效果是这样的, ...

  2. LayUI左侧菜单无法保持选中状态

    1.问题描述:一般的左侧菜单都会是动态添加的模块,利用循环把模块名和链接地址逐个显示出来如下图 但是问题来了,只要点任何二级菜单就不会保持左侧菜单当前一级菜单和二级菜单选中状态. 2.分析原因:因为模 ...

  3. RecyclerViewSelectableAdapterDemo【封装BaseSelectableAdapter用于多选、单选,以及切换选中状态等功能】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录封装单选.多选.切换选中状态的BaseSelectableAdapter基类,配合Recyclerview使用. 注意:此Dem ...

  4. jq:翻页时,保存上页多选框checkbox选中状态

    这里主要讲一种:中间的 checkbox 是 通过Ajax调出的. 则翻页时,为了保存上页的选定状态,可在页面中定义一个变量,用来存储选中状态的值. <input class="cli ...

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

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

  6. jq给单选框 radio添加或删除选中状态

    $("#div1 :radio").removeAttr("checked");//删除目标div下所有单选框的选中状态 $("#div1 :radi ...

  7. jQ无法设置checkbox变成选中状态

    设置以后checkbox并没有变成选中状态,用chrome调试看了一下,checkbox中确实有checked属性,针对这个问题,大家可以参考下本文 代码如下: $("input" ...

  8. html 布局;css3+jq 下拉菜单;table分页动态添加行;html5本地存储;简单易用的html框架

    简单好用的html框架,预览图见最后: 源码: 1.页面布局使用table: table 嵌套 +iframe 布局: 2.下拉菜单为jq+css3 动画; css input 无边框,select下 ...

  9. Fragment实现底部Tab,切换可保存状态

    activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android& ...

随机推荐

  1. three.js 居中-模型

    api: 代码: <!DOCTYPE html> <html lang="en"> <head> <title>three.js w ...

  2. pytest--运行指定的测试和参数化

    mark pytest提供了标记机制,允许你使用marker对测试函数做标记,一个测试函数可以有多个marker,一个marker也可以用来标记多个测试函数 比如我们需要进行冒烟测试,不可能把所有的用 ...

  3. GOOD BYE OI

    大米饼正式退役了,OI给我带来很多东西 我会的数学知识基本都在下面了 博客园的评论区问题如果我看到了应该是会尽力回答的... 这也是我作为一个OIer最后一次讲课的讲稿 20190731 多项式乘法 ...

  4. Elasticsearch的null values

    很多时候,我们需要面临null值的烦扰,查询es时传入null值是要查询出null的数据还是不查这个field呢,稍有不慎就会引发新的bug,这的确是个问题! null_value 意味着无法索引或搜 ...

  5. docker 部署 jenkins

    建议使用的Docker映像是jenkinsci/blueocean image(来自 the Docker Hub repository). 该镜像包含当前的长期支持 (LTS) 的Jenkins版本 ...

  6. 20165230田坤烨网络对抗免考报告_基于WIN10的渗透攻击

    目录 简单信息收集 主机发现 ping nmap 端口扫描 nmap OS及服务版本探测 nmap -sV 绕过防火墙尝试 诱饵 随机数据长度 随机顺序扫描目标 MAC地址欺骗 实现win10的渗透攻 ...

  7. 1-7docke的网络模式

    1.Bridge模式 bridge 模式是 docker 的默认⽹络模式,不写 –net 参数,就是 bridge 模式.比如使⽤ docker run - p 时 工作模式从网上找了一个,如下 例子 ...

  8. Orm 配置说明

    一.在线技术文档: http://files.cnblogs.com/files/humble/d.pdf   二.使用的大致流程   1.首先下载代码生成器,可以一键生成项目Model层;(其中含有 ...

  9. PHP strlen 对中文 的定义

    $zhStr = ‘您好,中国!’; // gbk编码下每个中文字符所占字节为2echo strlen($zhStr); // 输出:12 //utf-8编码下每个中文字符所占字节为3 echo st ...

  10. LongAdder源码分析

    AtomicLong是作用是对长整形进行原子操作,显而易见,在java1.8中新加入了一个新的原子类LongAdder,该类也可以保证Long类型操作的原子性,相对于AtomicLong,LongAd ...