0

我正在使用 Modernizr 加载资源以构建 jQuery 布局。问题是我无法检索我的 $('body').layout() 变量,因为它位于加载的资源之一(在 script/webframe.js 中)。我试过了 :

var myLayout;

function loadDefaultLayout() {

    Modernizr.load([{
        load: ['stylesheets/jquery.layout.css',
                'script/jquery.layout.min.js',
                'script/webframe.js'],
        complete: function () {
            myLayout = onDesktopWebFrameLoadComplete();
        }
    }]);

    alert(myLayout.options.west.resizable);
}

其中 onDesktopWebFrameLoadComplete 在 script/webframe.js 中并返回布局。

我尝试移动警报(myLayout.options.west.resizable);就在 onDesktopWebFrameLoadComplete 之后,警报显示为真。但是当我将它移出 load() 范围时,我有一个未定义的错误(对于 myLayout 变量)。

我的问题是:我想知道是否可以检索 Modernizr.load() 完整函数范围之外的变量。

4

1 回答 1

0

我的问题只是我没有在从 JavaScript 文件调用函数的正确 html 文件中定义我的全局变量。

所以总结一下。在其他一切之前以这种方式定义您的变量:

window.myLayout;

然后添加将更改变量的资源(包含 load() 函数)

更改此资源中的变量:window.myLayout = "something-else";

您现在可以在包含您的资源的 html 文件中使用它。

于 2013-06-07T21:25:59.737 回答