2013-08-06 160 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