-5

所以我有这段 HTML 代表菜单本身:

<div id="menu">
                <ul class="pnav">
                    <li><a href="#">Home</a></li>
                    <li>
                        <a href="#">About GM</a>
                        <ul class="cnav">
                            <li><a href="#">Team</a></li>
                            <li><a href="#">Events</a></li>
                            <li><a href="#">Testimonials</a></li>
                            <li><a href="#">Contact</a></li>
                        </ul>
                    </li>
                    <li><a href="#">Tournaments</a></li>
                    <li><a href="#">Membership</a></li>
                </ul>
            </div>

我也有这个菜单的这段 CSS:

ul.pnav {
    list-style: none;
    padding: 0 20px;    
    margin: 0;
    width: 920px;
    background: #222;
    font-size: 1.2em;
    background: url(topnav_bg.gif) repeat-x;
}
ul.pnav li {
    display:inline;
    margin: 0;  
    padding: 0 15px 0 0;
    position: relative;
}
ul.pnav li a{
    padding: 10px 5px;
    color: #fff;
    text-decoration: none;
}
ul.pnav li a:hover{
    background: url(topnav_hover.gif) no-repeat center top;
}

ul.pnav li ul.cnav {
    list-style: none;
    position: absolute; /*--Important - Keeps subnav from affecting main navigation flow--*/
    left: 0; top: 35px;
    background: #333;
    margin: 0; padding: 0;
    display: none;
    width: 170px;
    border: 1px solid #111;
}
ul.pnav li ul.cnav li{
    display:block;
    margin: 0; padding: 0;
    border-top: 1px solid #252525;
    border-bottom: 1px solid #444;
    clear: both;
    width: 170px;
}

我有这个JS:

$(document).ready(function(){

    //$("ul.cnav").parent().append("<span></span>");

    $("ul.pnav li").click(function() {

        $(this).parent().find("ul.cnav").slideDown('fast').show();

        $(this).parent().hover(function() {
        }, function(){  
            $(this).parent().find("ul.cnav").slideUp('slow');
        });

    });

});

我自己并没有完全编写它,只是对其进行了自定义,并且在 HEAD HTML 标记中这样调用:

<script src="js/dropdown.js"></script>

但是下拉菜单不起作用,任何人都可以帮助我并向我解释一些解决方案吗?:D

4

3 回答 3

1

添加:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" ></script>

在上述之前 - 标记以防您错过包含 jQuery。

于 2013-07-08T09:37:19.673 回答
0

在包含任何 js 文件之前,您应该包含“jquery.js”文件,您可以在此处下载表单http://jquery.com/download/

于 2013-07-08T09:39:11.040 回答
0

我怀疑您只是忘记加载 jQuery。

此外,我对您的脚本进行了 1 处细微更改,以使菜单仅打开其子子导航。

这个:

$("ul.pnav li").click(function() {

成为:

$("ul.pnav li a").click(function() {

因为它似乎更适合它下面的线。

现场示例:http: //jsfiddle.net/DnGRm/

于 2013-07-08T09:40:11.787 回答