我对 jQuery 有疑问。
我想得到一个真实的宽度/高度img
。
现在我用这个函数来获取它:
var imageSize = function(image) {
var realImageSize = { };
$("<img/>") // Make in memory copy of image to avoid css issues
.attr("src", $(image).attr("src"))
.load(function() {
realImageSize.width = this.width; // Note: $(this).width() will not
realImageSize.height = this.height; // work for in memory images.
alert(realImageSize['height']); // Valid height
});
alert(realImageSize['height']); // Undefined
return realImageSize;
}
所以我将图像复制到内存中,然后在.load
方法中获取并设置图像的实际大小。
现在,问题是由于var realImageSize
某种原因该变量在此范围内不可用。谁能告诉我为什么?