0

次のメニューを使用しています<ul> and <li>s

<ul class="menu">

                <li>@Html.ActionLink("Home", "Index", new { Controller = "Home" })</li> @*, new { @class = "active" }*@
                <li>@Html.ActionLink("About Us", "About", new { Controller = "Home" })</li>
                <li>@Html.ActionLink("Services", "Services", new { Controller = "Home" })</li>      
                <li>@Html.ActionLink("Post Job", "Create", new { Controller = "JobPosting" })</li>
                <li>@Html.ActionLink("Job Search", "Index", new { Controller = "JobPosting" })</li>
                <li>@Html.ActionLink("Contact Us", "Contact", new { Controller = "Home" })</li>
               </ul>

私は次のJavascriptメソッドを使用しています

function ApplySelectClassOnMenu() {    
var url = window.location.pathname;
var index = url.lastIndexOf('/');
if (index > 0) {
    url = url.substring(index);
}
$('.menu >li').each(function () {        
    var url1 = $(this).children().attr("href");
    index = url1.lastIndexOf('/');
    if (index > 0) {
        url1 = url1.substring(index);
    }
    if (url1 == url) {            
        $(this).children().addClass('active');
    }
    else {
        $(this).children().removeClass('active');
    }
});

}

そしてそれdocument.ready

<script type="text/javascript">
     $(document).ready(function () {
         ApplySelectClassOnMenu();
     });

**ここで問題が発生します。メニュー項目の色は変更されますが、

  • <li>メニュー項目(項目)に数秒間マウスを置いたままにしないでください
  • <li>アドレスバーに直接URLを指定する場合は、マウスをそのアイテムにドラッグしないでください

色は同じままで、変更されません

**

誰かがこの問題を解決するのを手伝ってくれますか?????

4

1 に答える 1

0

結局、@ Martinが提案したように、サーバー側の方法に固執する必要がありました。

mvcで実行時にメニュー項目にcssクラスを適用する

于 2013-06-25T11:44:36.557 に答える