欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery对底部导航进行跳转并高亮显示

程序员文章站 2022-05-25 21:11:17
这两天弄一个mui的底部菜单,有点费时了,尝试了用vue写,纯js写,还有根据mui的写,还是有些问题和麻烦。直到看了网上的一些例子,才想明白,之前一直是一种点击触发事件才高亮的思维去做,这个虽然可以了,但是页面跳转了就又都没了。网上看明白的例子是:让当前页面地址与导航里的地址做对比,相同就高亮,之 ......

这两天弄一个mui的底部菜单,有点费时了,尝试了用vue写,纯js写,还有根据mui的写,还是有些问题和麻烦。直到看了网上的一些例子,才想明白,之前一直是一种点击触发事件才高亮的思维去做,这个虽然可以了,但是页面跳转了就又都没了。网上看明白的例子是:让当前页面地址与导航里的地址做对比,相同就高亮,之前思维太死,一直以点击才触发事件来写,结果问题好几个。接下来上代码

<style>
.active{ color:#d96c00;}/*高亮样式*/
</style>

这里就放菜单部分代码,在针对vue写菜单的时候,是把导航写到data,再循环遍历输出,最终由于购物车的数字角标显示问题而放弃,采用jquery了

<nav class="mui-bar mui-bar-tab" id="menu">
    <a href="menutest.html" rel="menutest.html" class="mui-tab-item"><!-- rel是作对比的-->
        <span class="fa fa-home"></span>
        <span class="mui-tab-label">首页</span>
    </a>
    <a href="service.html" rel="service.html" class="mui-tab-item">
        <span class="mui-icon iconfont icon-shop"></span>
        <span class="mui-tab-label">客服</span>
    </a>
    <a href="shopcart.html" rel="shopcart.html class="mui-tab-item">
        <span class="mui-icon iconfont icon-gouwuche"><span class="mui-badge">5</span></span>
        <span class="mui-tab-label">购物车</span>
    </a>
    <a href="me.html" rel="me.html" class="mui-tab-item">
        <span class="fa fa-user-circle-o"></span>
        <span class="mui-tab-label">我的</span>
    </a>
</nav>

接下来是jquery语句

var urlstr = location.href;    //获取浏览器的url
  var urlstatus=false;  
  $('#menu a').each(function() {
      if ((urlstr + '/').indexof($(this).attr('rel')) > -1&&$(this).attr('rel')!='') {
            // 为当前点击的导航加上高亮,其余的移除高亮
            $(this).find('span').addclass('active');
            urlstatus = true;
        } else {
          $(this).removeclass('active');
        }
    });
  if (!urlstatus) {
      $("#menu a span").eq(0).addclass('active'); //默认首页图标高亮
  }