0

我做了一个用户控件,并在 $(document).ready() 方法中放置了一些代码,但是当我放置断点时,通过 boxWidth 值并逐步执行,我可以明显看到 html 尚未加载,这就是为什么我得到未定义的值。我需要先加载 html,以便我可以获取 img 元素的宽度和高度来计算纵横比等。

屏幕截图如下:

在此处输入图像描述

4

2 回答 2

5

您根本没有在任何地方声明这些变量。尝试这个:

var elem = $("#Body_Body_ucImageUploadAndCrop_CropImage"),
    boxWidth = elem.width(),
    boxHeight = elem.height();

elem.Jcrop({
    onSelect: storeCoords,
    boxWidth: boxWidth,
    boxHeight: boxHeight,
    aspectRatio: boxWidth / boxHeight
});

现在您的代码运行无错误,您可能只想在加载后访问图像:

$(window).on( "load", function() {
    //Code to run after window has loaded
});

应该这样做。

于 2012-07-04T10:32:17.077 回答
-1

您将寻找资源加载事件

$.load("image_id", function(){ ... });
于 2012-07-04T10:33:56.183 回答