2017-05-08 6 views
0

こんにちは私はhtmlメニューを持っており、メニュー項目をクリックするとアクティブなクラスを変更したいと思います。jqueryでアクティブなクラスを変更

HTML:

<nav> 
    <ul> 
      <li class='active'><a href='index.php'>Index</a></li> 
      <li><a href='hello.php'>Hello</a></li> 
    </ul> 
</nav> 

Javascriptを:

<script type="text/javascript"> 
      $(function() { 
       $("ul li").click(function() { 
        // remove classes from all 
        $("ul li").removeClass("active"); 
        // add class to the one we clicked 
        $(this).addClass("active"); 
       }); 
      }); 
</script> 

それは動作しますが、ページが要求されたリンク、それがデフォルトでいたクラスを返す(に行くためにリフレッシュが完了したときインデックスページで)。

お願いします。

+1

デフォルトでは、どのナビアイテムに 'アクティブ 'クラスがあるべきかを判断できるように情報を渡す必要があります。このクラスは、PHPファイルのレンダリング中に設定できます。 –

答えて

0

localstoragethis記事は学習に役立ちます。次のコードを試してください。

$(document).ready(function(){ 
    var find=localStorage.getItem("Menukey"); 
    if(find){ 
    $("ul li").removeClass("active").eq(find).addClass("active") 
    } 
}); 

$("ul li").click(function() { 
    localStorage.setItem("MenuKey",$(this).index()) 
    $("ul li").removeClass("active"); 
    $(this).addClass("active"); 
}); 
関連する問題