jquery滑动菜单

时间:2011-12-21 00:03:04

标签: jquery xhtml

一次。我有一个菜单,我正在建设。一切正常,除了当我点击其中一个主要类别时,页面跳回到顶部。我想阻止这种情况,但我担心使用preventDefault()会阻止其他链接正确加载。

这是代码..

的jQuery

$(document).ready(function() {
    // Collapse everything but the first menu:
    $("#nav_menu > li > a").find("+ ul").slideUp(1);
    // Expand or collapse:
    $("#nav_menu > li > a").click(function() {
        $(this).find("+ ul").slideToggle("fast");
    });
});

标记

<ul id="nav_menu">
    <li><a href="#">Main Cat 1</a>
        <ul>
            <li><a href="whatever.php">Subcat 1</a></li>
            <li><a href="whatever.php">Subcat 2</a></li>
        </ul>
    </li>
    <li><a href="#">Main Cat 2</a>
        <ul>
            <li><a href="whatever.php">Subcat 1</a></li>
            <li><a href="whatever.php">Subcat 2</a></li>
        </ul>
    </li>
</ul>

对此有任何帮助将不胜感激! :)

1 个答案:

答案 0 :(得分:2)

您需要调用preventDefault函数,以便a元素不会触发href。

$(document).ready(function() {
    // Collapse everything but the first menu:
    $("#nav_menu > li > a").find("+ ul").slideUp(1);
    // Expand or collapse:
    $("#nav_menu > li > a").click(function(e) {
        e.preventDefault();
        $(this).find("+ ul").slideToggle("fast");
    });
});