【问题标题】:Why isn't my JS working? [closed]为什么我的 JS 不工作? [关闭]
【发布时间】:2013-07-08 09:29:55
【问题描述】:

所以我有这段 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

【问题讨论】:

  • 你加载了 jQuery 吗?
  • 我只是在这里做了一个小提琴:jsfiddle.net/fnkr/Jcuab
  • 不工作如何?您是否检查过控制台中的错误?

标签: javascript html css drop-down-menu


【解决方案1】:

添加:

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

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

【讨论】:

    【解决方案2】:

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

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

    这个:

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

    成为:

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

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

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

    【讨论】:

    • 感谢您的反馈!这很好:D
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2012-12-07
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 2021-08-07
      • 1970-01-01
      相关资源
      最近更新 更多