jQuery load()函数没有设置全局变量?

时间:2014-06-24 15:39:40

标签: javascript jquery

不太清楚为什么,但我认为有人在这里可以教育我一点。我期待基于jQuery加载的对象设置一个全局变量。在我的情况下,我从服务器加载原始图像大小,所以我可以按比例调整它的程序。但我难以理解为什么我可以提醒或控制日志的高度和宽度但是不能将变量设置为回调函数之外的那些检索值?

HTML:
<img src='someimage.jpg' />

JS/jQuery:
var imgHeight, imgWidth;

$("img").load(function() {
    imgHeight = $(this).height();
    imgWidth = $(this).width();
    console.log(imgWidth + " x " + imgHeight); // this works
});

console.log(imgWidth + " x " + imgHeight); // this does not

这是一个时间问题吗?加载图像并根据响应设置变量会有什么更好的解决方案?

1 个答案:

答案 0 :(得分:0)

这是因为.load函数在加载图像后运行。加载外的console.log试图记录没有值的变量。