未捕获的TypeError:undefined不是菜单中的函数

时间:2014-11-26 14:47:31

标签: javascript jquery

我找到了一个包含以下javascript的网站菜单示例

    jQuery.fn.initMenu = function() {  
        return this.each(function(){
            var theMenu = $(this).get(0);
            $('.acitem', this).hide();
            $('li.expand > .acitem', this).show();
            $('li.expand > .acitem', this).prev().addClass('active');
            $('li a', this).click(
                function(e) {
                    e.stopImmediatePropagation();
                    var theElement = $(this).next();
                    var parent = this.parentNode.parentNode;
                    if($(parent).hasClass('noaccordion')) {
                        if(theElement[0] === undefined) {
                           window.location.href = this.href;
                        }
                        $(theElement).slideToggle('normal', function() {
                            if ($(this).is(':visible')) {
                                $(this).prev().addClass('active');
                            }
                            else {
                                $(this).prev().removeClass('active');
                            }    
                        });
                        return false;
                    }
                    else {
                        if(theElement.hasClass('acitem') && theElement.is(':visible')) {
                            if($(parent).hasClass('collapsible')) {
                                $('.acitem:visible', parent).first().slideUp('normal', 
                                function() {
                                    $(this).prev().removeClass('active');
                                }
                            );
                            return false;  
                        }
                        return false;
                    }
                    if(theElement.hasClass('acitem') && !theElement.is(':visible')) {         
                        $('.acitem:visible', parent).first().slideUp('normal', function() {
                            $(this).prev().removeClass('active');
                        });
                        theElement.slideDown('normal', function() {
                            $(this).prev().addClass('active');
                        });
                        return false;
                    }
                }
            }
        );
    });
    };

$(document).ready(function() {$('.menu').initMenu();});

但是我总是得到这个错误未捕获的TypeError:undefined不是函数到最后一行

$(document).ready(function() {$('.menu').initMenu();});

请帮助我,我不知道该怎么做。

这是我如何连接jquery

<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="menu.js" type="text/javascript"></script>

0 个答案:

没有答案