我有这样的代码jQuery中:jQuery的变量范围
var ratio;
$("<img/>").attr("src", $(img).attr("src")).load(function() {
ratio = this.width/this.height;
alert(ratio);
});
这retuns正确的比例,但是当我尝试这个
var ratio;
$("<img/>").attr("src", $(img).attr("src")).load(function() {
ratio = this.width/this.height;
});
alert(ratio);
它返回未定义。
我不明白为什么会发生这种情况,即使我已经在全局声明比率变量。
我用这个在以下为例:
工作http://jsfiddle.net/7sUAY/5/
不工作http://jsfiddle.net/7sUAY/6/
谢谢 Mugur
由于'load'回调仅在图像加载时执行,而$(“”).attr()。load()'后面的每个代码立即执行。否则,根本没有提供回调的原因是什么?当然是 – 2012-02-09 11:34:32
!谢谢! – Mike 2012-02-09 11:37:05