0

我有一个这样设置的菜单:

<div id='top-navigation'>
    <ul>
    <li><a class='top-nav-button-unclicked' href='#'>SUBJECT</a></li>
    <li><a class='top-nav-button-unclicked' href='#'>TOPIC</a></li>
    <li><a class='top-nav-button-unclicked' href='#'>PRESENTER</a></li>
    </ul>
    </div>
    <div id='menu'>
    </div>

基本上,当我单击其中一个链接时,我希望弹出菜单。我对 jQuery 很陌生,到目前为止我有这个:

$('#menu').hide();

$(".top-nav-button-unclicked, .top-nav-button-clicked").click(function(){
    if ($(this).hasClass('top-nav-button-clicked')) {
        $(this).removeClass().addClass("top-nav-button-unclicked");
    } else {
        $(this).removeClass().addClass("top-nav-button-clicked");
    }
    $('#menu').toggle();
});

问题在于,当我单击第一个菜单项“SUBJECT”时,会出现菜单,当我单击“TOPIC”时,我希望菜单保持打开状态(从技术上讲,当我将 ajax 添加到它)

基本上,我不确定如何保持关于哪个按钮正在调用菜单的状态。最好的方法是什么?

4

1 回答 1

1

听起来您正在使用.toggle(),但您并不真的希望它每次都切换。如果是这种情况,那么您应该只计算您是否希望它可见并设置该特定状态而不是使用.toggle(). 您还可以传递一个布尔值来.toggle()确定它是显示还是隐藏。

于 2012-06-15T03:47:27.493 回答