简体   繁体   English

asp.net活动菜单项突出显示

[英]asp.net active menu item highlighting

i have a master page and some child pages , i want when i open a page from the menu to collapsed in and stay highlighted i have it in this structure 我有一个母版页和一些子页,当我从菜单中打开一个页面以使其折叠并保持突出显示时,我希望它具有这种结构

     <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>

so the active class is 所以活动班级是

"active"

and the collapsed in classes are 而崩溃的班级是

"collapse in"

i tried this code in default.aspx but it didn't worked 我在default.aspx尝试了此代码,但没有成功

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

as the comments indicated make your class a single word name, also wrap your code to make sure the js is executed after the dom elements are alredy on the page. 如指示的注释使您的类成为一个单词名称,还包装您的代码以确保在页面上的dom元素变脏后执行js。

in addition instead of removing class adding class try toggle jquery toggle event with something like this ... 另外,除了删除类外,不添加类,请尝试使用类似以下方法切换jquery toggle事件 ...

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

On every aspx page use this. 在每个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>

and CSS 和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;

}

You can modify according to your requirement 您可以根据需要进行修改

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM