这两天弄一个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="external nofollow" 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="external nofollow" 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="external nofollow" 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="external nofollow" 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'); //默认首页图标高亮 }
总结
以上所述是小编给大家介绍的jQuery对底部导航进行跳转并高亮显示的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!