函数未定义调整大小

时间:2017-01-23 15:21:01

标签: javascript jquery

当一个div大于其他divs时,我已使此代码调整所有div的大小。代码在加载时执行,然后我希望我的嵌套函数在窗口调整大小时工作。我收到resizeAgain()未定义的错误。

更新: 忘记回调:sameSize('.content', '.col1', '.col2');

    <body onresize="resizeAgain()">
         function sameSize(e, selector1, selector2) {

        var slave = $(selector1).height();
        var master = $(selector2).height();
        var maxHeight = Math.max(slave, master);

        $(e).height(maxHeight);

        function resizeAgain() {
            $(e).css('height','');
            $(e).height(maxHeight);
        }
        sameSize('.content', '.col1', '.col2');

2 个答案:

答案 0 :(得分:0)

resizeAgain()中定义的函数sameSize(e, selector1, selector2)会改变其范围,使其在sameSize(..)之外无法访问。

您可以在其他答案中找到更多信息:javascript-nested-function

答案 1 :(得分:0)

函数var dataFromTableA = GetDataFromTableA(); var importedObjectGuids = GetImportedObjectsGuidFormFile(); var filterdData = new List<your_object>(); foreach(var data in dataFromTableA) { if (importedObjectGuids.Contains(data.Guid)) continue; filterdData.Add(data); } foreach (var data in filterdData) { try { Migrate(data); SaveMigrationResult(data.Guid); } catch (Exception ex) { Console.WriteLine(ex.ToString); } } 仅在resizeAgain函数的范围内可见,这就是从窗口范围调用它时出错的原因。

您可以在全局范围内定义此功能:

sameSize