代码之家  ›  专栏  ›  技术社区  ›  P.Brian.Mackey

实现jquery suckerFish菜单时出现预期的对象错误

  •  1
  • P.Brian.Mackey  · 技术社区  · 14 年前

    我正在尝试实现这个上面的烂菜单 tutorial. 我从示例javascript中得到“object expected”错误:

        $(document).ready(function () {
            $("#nav-one li").hover(
                function () { $("ul", this).fadeIn("fast"); },
                function () { }
            );
            if (document.all) {
                $("#nav-one li").hoverClass("sfHover");
            }
        });
    

    <script type="text/javascript" src="~/Scripts/jquery-1.4.1.js"></script>
    

    JQuery导入在页眉中。javascript就在 <body> 如果我能分辨出哪个对象有问题,而不是被指向这段代码,那就太好了。我是JQuery和初级javascript新手。

    更新 菜单的开头:

    <ul id="nav-one" class="nav">
                <li>
                    <a href="#item1">item 1</a>
                    <ul>
    

    我相信这个css包含了“sfHover”部分:

    #nav-one li.sfHover a {
      background: #ccc;
      color: #000;
    }
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   rosscj2533    14 年前

    当您没有正确地包含jQuery时,可能会发生“object expected”错误。在目录中有'jquery-1.4.1.js'文件吗 src 属性指向?

    要测试这是否是问题所在,请尝试将jQuery include替换为:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    

    编辑:

    如果我使用您的示例代码和上面提到的jQuery include,我不会得到那个错误。但是你还需要包括

    $.fn.hoverClass = function(c) {
    return this.each(function(){
        $(this).hover( 
            function() { $(this).addClass(c);  },
            function() { $(this).removeClass(c); }
        );
    });
    };
    

    从你的例子中分离出来。它定义了 hoverClass