0

我想制作一个带有子菜单的菜单,并且我希望列表点可以点击一次,直到用户进入下一个。

我用 return false 尝试过,但在这种情况下,标签不再可点击。

<div id="navigation">
<ul>
    <li>corsets</li>
    <li class="active">news
        <ul>
            <li><a href="index.php">blablaba</a></li>
            <li><a href="index.php">blubbblubb</a></li>
        </ul>
    </li>
    <li>person
        <ul>
            <li><a href="person.php">blablaba</a></li>
            <li><a href="person.php">blubbblubb</a></li>
        </ul>
    </li>
    <li>contact</li>
</ul>
</div>

和javascript:

$("#navigation li").click(function(evt){

    if($(this).hasClass("active")) {
        return false;
    }

    $(this).addClass('active'); 
});

如果用户单击下一个菜单点,当然可以再次单击之前的菜单点,我会.active在稍后的功能中删除。这只是一个片段...

4

1 回答 1

0

这可能看起来很愚蠢和简单,但您可以使用:

$('#navigation li').click(function(evt) {
  $(this).toggleClass('active');
});

如果它不存在,它将添加它,如果存在则将其删除。您还可以使用:

$(this).html($(this).text);

如果您想删除超链接(假设您的格式不是基于它们,在这种情况下没关系)。

于 2013-10-19T08:35:14.810 回答