jquery 根据网站url给导航nav添加active效果

后台的同事因为把nav公用了,所以无法单页添加active,一下方法通过判断url的后缀给当前页添加active

	$(function(){
		var _nava= $('.nav .nav-wrapper a');
		var _url = window.location.href;
		var _host = window.location.host;
		for(var i = 0; i<_nava.length ; i++){
			var _astr = _nava.eq(i).attr('href');
            if(_url.indexOf(_astr) != -1){
               _nava.eq(i).addClass('active').siblings().removeClass('active');
            }else if(_url == ('http://'+_host+'/')){
            	_nava.eq(0).addClass('active').siblings().removeClass('active');
            }
	    }
    })

由于后台同事,类别分配不同往常;在点击一个导航进入后,可以正常运行,但是当点击某一条信息进入后,由于网址又是一个新的html,并没有包括在原来的类别内,之后通过网站地图判断

<script type="text/javascript">
	$(function(){
		var _nava= $('.nav .nav-wrapper a');
		var _url = window.location.href;
		var _host = window.location.host;
        var _type = $('.news .position-search .position-search-wrapper .position a').eq(1).text();//网站地图“首页>新闻类别>新闻详情”
		for(var i = 0; i<_nava.length ; i++){
			var _atext = _nava.eq(i).text();
			var _astr = _nava.eq(i).attr('href');
            if(_url.indexOf(_astr) != -1 || _atext == _type){//地图的类别和导航的文本对比,相同在该导航添加active
               _nava.eq(i).addClass('active').siblings().removeClass('active');
            }else if(_url == ('http://'+_host+'/')){
            	_nava.eq(0).addClass('active').siblings().removeClass('active');
            }
	    }
    })
</script>

  

原文地址:https://www.cnblogs.com/bestsamcn/p/4967861.html