Javascript Jquery无法调用方法';加载';未定义的

Javascript Jquery无法调用方法';加载';未定义的,javascript,jquery,Javascript,Jquery,我正在使用jquery在按钮切换后加载google地图: function loadScript() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'http://maps.googleapis.com/maps/api/js?v=3.11&key=AIzaSyCK3XUMWOH0GIiuj3VeprakKZXoo_nDV

我正在使用jquery在按钮切换后加载google地图:

function loadScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'http://maps.googleapis.com/maps/api/js?v=3.11&key=AIzaSyCK3XUMWOH0GIiuj3VeprakKZXoo_nDV08&sensor=true&' +
        'callback=initialize';
    document.body.appendChild(script);
}

(function ($) {
    $(document).ready(function () {
        //Show map on category pages
        $(function () {
            $("#showonmap a").toggle(function () {
                $(this).children("#show_map").hide();
                $(this).children("#hide_map").show();
                //Reveal google maps multi
                //First create empty divs, if they exist don't create them
                if ($("#googlemap_multi").length == 0) {
                    $("#subheadergradient").before('<div class="googlemap_margin"></div><div id="googlemap_multi"></div><div class="googlemap_margin"></div>');
                }
                $(".googlemap_margin").fadeIn("slow", function () {
                    $("#googlemap_multi").animate({
                        height: 400
                    }, "slow", function () {
                        //load google maps
                        loadScript().load();
                    });
                });
            }, function () {
                $(this).children("#hide_map").hide();
                $(this).children("#show_map").show();
                //Hide google maps multi
                $("#googlemap_multi").animate({
                    height: 0
                }, "slow", function () {
                    $(".googlemap_margin").fadeOut("slow");
                });
            });
        });
    });
}(jQuery));
所以,切换回功能永远不会执行

本部分:

//Hide google maps multi
$("#googlemap_multi").animate({height: 0},"slow", function(){
    $(".googlemap_margin").fadeOut("slow");
});
有什么问题


ty.

加载脚本()的结果没有方法
load()
。它所做的只是加载一个脚本(异步!)


您正在尝试执行哪个
load()

loadScript()
的结果没有方法
load()
。它所做的只是加载一个脚本(异步!)

您正在尝试执行哪个
load()

loadScript().load();
但是您的方法
loadScript
没有任何
return
语句,因此基本上您正在调用
undefined
上的
load
方法(chained)

loadScript().load();

但是您的方法
loadScript
没有任何
return
语句,因此基本上您是在
undefined
上调用
load
方法(chained)的
undefined

为什么要尝试对一个不返回任何内容的函数调用
.load()

要么调用
loadScript()
或者让
loadScript
函数返回一个具有方法
load

的对象,为什么要尝试对一个不返回任何内容的函数调用
.load()

要么调用
loadScript()
或者使
loadScript
函数返回一个对象,该对象具有方法
load

您的
$(“\googlemap\u multi”)。animate()
回调调用
loadScript().load()
。除非
loadScript()
使用
load()
方法返回某些内容,否则您将尝试在
未定义的返回类型上调用
load()
。我认为左对齐的代码更容易阅读…您的
$(“#谷歌地图"multi”)。animate()
回调正在调用
loadScript()。load()
。除非
loadScript()
使用
load()
方法返回某个内容,否则您将试图调用
undefined
返回类型上的
load()
。我认为左对齐的代码更容易阅读……这是真的,但现在我收到另一个错误:未捕获错误:属性值无效:[object object]为true,但现在我收到另一个错误:未捕获错误:属性值无效:[object]我现在收到另一个错误:未捕获错误:属性值无效:[object]我现在收到另一个错误:未捕获错误:属性值无效:[object]