2016-04-13 9 views
0

この質問は多岐にわたっていますが、回答済みの投稿を使用してこれを行う方法はわかりません。 これは、この私のjqueryのですCodeigniterのアクティブなリンクやページを管理するか強調表示する

<script type="text/javascript"> 
jQuery(function($){ 
    $('a[href="'+window.location.pathname+window.location.hash+'"]').parent().addClass('active'); 
}); 
</script> 

私の道を約

ここthis->はlocalhost/nowaste/nowaste_control /インデックス#でのすべてのページが取得され

<<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> 

私の見解ページですアクティブ...

+0

はエコーます$ this-> uri->セグメント(1);あなたの条件が一致しているかどうかを確認してください。 – msvairam

+0

'$ this-> uri-> segment(1)'を返すのは何ですか? –

+0

その返事は無料 –

答えて

0

あなたは実際には複数のセグメントを持つURLを持っていますが、最初のものだけを比較します。 segment()は、最初の配列部分だけを配列から外しています。これは、nowaste_controlを取得したことがあり、決してindexを取得していないことを意味します。

$this->uri->uri_string()実際に欲しいのは、変更されていない文字列全体が表示されます。

これはあなたのリンクがhash fragment(#)を使用しているという別の問題を提起しますが、codeigniterはURLリクエストでこれを観察しません。なぜなら、Apacheはリクエストでこれを受け取らないからです。

実際に必要なのはJavaScriptソリューションです。ここにはjQueryだけで動作するものがあります。

jQuery(function($){ 
    $('a[href="'+window.location.pathname+window.location.hash+'"]').parent().addClass('active'); 
}); 
+0

私はそれを使用しましたが、まだ動作していません –

+0

ページを表示するための変更点 –

+0

私のコードを変更してください –

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> 
関連する問題