我知道这个问题很多,但我只是想知道如何使用已经回复的帖子来解决这个问题。 这是我的观点页面
<<li class="active"> <a class="page-scroll" href="<?php echo base_url();?>nowaste_control/index#about">Home</a> </li>
<li ><a class="page-scroll" href="<?php echo site_url('nowaste_control/index#product'); ?>">Products</a> </li>
<li > <a class="page-scroll" href="<?php echo base_url();?>nowaste_control/index#technology">Technology</a> </li>
这是我的jquery
<script type="text/javascript">
jQuery(function($){
$('a[href="'+window.location.pathname+window.location.hash+'"]').parent().addClass('active');
});
</script>
我的路径是这个 - > localhost / nowaste / nowaste_control / index#about
这里所有页面都变得活跃了......
答案 0 :(得分:0)
您实际上有多个网段的网址,但只能比较第一个网址。 .config(['$provide', '$httpProvider', function ($provide, $httpProvider) {
$provide.factory('reauthenticationInterceptor', AuthenticationInterceptor.create);
$httpProvider.interceptors.push('reauthenticationInterceptor');
}]);
仅从第一个数组部分弹出数组。这意味着您只能获得segment()
而永远不会nowaste_control
。
你真正想要的是index
,它将为你提供整个未经改动的字符串。
这带来了另一个问题,即您的链接使用$this->uri->uri_string()
(#),但是,codeigniter永远不会在URL请求中观察到这一点,因为Apache不会在请求中收到此信息,而是仅适用于客户端。
所以你真正需要的是一个JavaScript解决方案。这是jQuery的一个正常工作。
hash fragment
答案 1 :(得分:0)
如果你正在使用JQuery,你可以通过在客户端处理它来做这样的事情:
<script type="text/javascript">
$(function() {
alert("Current Pathname:" + window.location.pathname);
if(window.location.pathname=="some path"){
$("#someLi").addClass("active");
}else if(window.location.pathname=="some other path"){
//..
}
});
</script>