2013-08-06 79 views
0

我有一個母版頁和一些子頁面,我希望當我從到倒塌並保持亮度顯示的菜單打開一個頁面 我有它在這個結構中asp.net活動菜單項突出

 <ul id="menu" class="unstyled accordion collapse in"> 


       <li id="MenuDash" class="accordion-group"> 
        <a data-parent="#menu" 
         data-toggle="collapse" class="accordion-toggle" data-target="#dashboard-nav"> 
         <i class="icon-dashboard icon-large"></i> Dashboard <span 
          class="label label-inverse pull-right">2</span> 

        </a> 
        <ul class="collapse" id="dashboard-nav"> 
         <li><a href="/Default.aspx"><i class="icon-home"></i> Dash Board</a></li> 
         <li><a href="/Status.aspx"><i class="icon-bar-chart"></i> Status</a></li> 
        </ul> 
       </li> </ul> 

所以有源類是

"active" 

和在類的摺疊是

"collapse in" 

我Trie樹d這個代碼default.aspx但它並沒有奏效

<script type="text/javascript"> 
    $('#dashboard-nav').removeClass("collapse"); 
    $('#dashboard-nav').addClass("collapse in"); 
</script> 
+0

據我所知「倒塌」修改不能是一個類名。我會使用「摺疊」或「collapse_in」。 – afzalulh

+1

將腳本包裝到$(document).ready()中,它將確保腳本在創建dom後運行。 – afzalulh

+0

崩潰是一個類,並在一個類! – ahmgeek

回答

1

的評論指出要使類的單個單詞的名稱,也包裹你的代碼,以確保JS執行後的DOM元素alredy在頁面上。

此外,而不是刪除類中添加類嘗試切換 jquery toggle event像這樣的東西

...

$('#dashboard-nav li').toggle(function() { 
    alert('First handler for .toggle() called.'); 
}, function() { 
    alert('Second handler for .toggle() called.'); 
}); 
+0

不工作的男人:( – ahmgeek

0

在每一個aspx頁面使用此。

<script type="text/javascript"> 
     $(document).ready(function() { 
     $('#dashboard-nav').addClass('selected'); 
     $('.menu li a').hover(function() { 
      $('.menu li a').removeClass('selected'); 
      $(this).addClass('active'); 
     }); 
     $('.menu li a').mouseleave(function() { 
      $('#dashboard-nav').addClass('selected'); 
     }); 
    }); 
    </script> 

和CSS

.menu li a:hover,.menu li a.selected 
{ 
background-color : #E5E5E5; 
padding-top:5px; 
padding-bottom:5px; 
padding-left:10px; 
color:Black ! important; 
font: normal 12px Trebuchet MS; 

} 

您可以根據您的要求

+0

不工作的男人太:( – ahmgeek