2016-11-21 3 views
0
<ul id="mainMenu" class="main-nav"> 
    <li class="nav-menu-dropdown-company active"><a class="company-   btn" href="/company">Company</a> 
    <li><a href="/features">Features</a></li> 
    <li><a href="/try-now.php#demorequestform">Pricing</a></li> 
    <li><a href="/contact-us">Contact</a></li> 
</ul> 

$current_url = $_SERVER['REQUEST_URI']; 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     currentPageLink = '<?=$current_url?>'; 
     $(".main-nav li").each(function(){ 
      var listLink = $(this).children('a').attr("href"); 
      $(this).removeClass('active'); 
      if(currentPageLink == listLink){ 
       $(this).addClass('active'); 
      } 
     }) 
    }); 

は、メインナビゲーション

の特定の李にアクティブなクラスを開始することができないだけで価格設定ページへのアクティブなクラスを追加する方法を理解する必要があります。リンクの残りの部分はクリックされたときにアクティブなままですが、価格設定はno.theがStackに関するすべての回答を見ていますが、私の問題に対する答えは見つかりませんでした。前もって感謝します。

+0

を#demorequestformキャッチすることができますので、あなたは現在の位置に基づいてURLにactive' 'クラスを追加しようとしていますか? – bassxzero

答えて

0


 
    $(document).ready(function(){ 
 
    var path = "/"+location.pathname; 
 
    path = "/"+'try-now.php#demorequestform'; // this shall be deleted later ! 
 
     $('a').each(function(index, element) { 
 
     console.log($(element).attr("href")); 
 
     console.log(path); 
 
    if($(element).attr("href") == path) 
 
    { 
 
     $(element).parent().addClass("active"); 
 
    }else{ 
 

 
     $(element).parent().removeClass("active"); 
 

 
} 
 

 

 

 
}); 
 
    
 
    }); 
 

 
<style> 
 
.active { 
 
color:red; 
 
background:green; 
 
} 
 
</style> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul id="mainMenu" class="main-nav"> 
 
    <li class="nav-menu-dropdown-company active"><a class="company-   btn" href="/company">Company</a> 
 
    <li><a href="/features">Features</a></li> 
 
    <li><a href="/try-now.php#demorequestform">Pricing</a></li> 
 
    <li><a href="/contact-us">Contact</a></li> 
 
</ul>

私はそれが実行時のパスに連絡作るテストのためのパスのため、これはあなたの解決策になると思うちょうどパス=「/コンタクトたち」

アップデートを削除する上で正しいです:李最終目標にする要素に親を追加 パス名にコンソールに

var path = "/"+location.pathname; 
     consloe.log(path); 

を印刷しよう問題

が何であるかを理解することはまだあなたが

if(window.location.hash.substr(1); =="demorequestform") { 
    // make li active 
    } else { 
     // Fragment doesn't exist 
    } 
+0

ありがとうございました。私はこれを試みたが、今はまだ働いている。 – user3308681

+0

何が正しく機能していませんか? –

+0

ありがとうございました。それは – user3308681

関連する問題