我将图片附加到这样的div:
$ thisComp.find(' .DummyImage')。attr(" src",this.imageUrl);
在此之后的行中我使用ajax调用并获得图像的宽高比如下:
$ .ajax(this.imageUrl).done(function(){ var AspectRatio =($ thisComp.find(' .DummyImage')。width()/ $ thisComp.find(' .DummyImage')。height())。toFixed(2);
在这种情况下,我有时会得到正确的值宽高比,有时NaN(特别是在Chrome浏览器中)在其他浏览器中它总是正常工作。 我认为问题在于ajax调用是先执行,甚至在它上面的行完全加载" src"图像。
请为此问题建议可能的解决方案。
答案 0 :(得分:0)
等待图片的加载事件,而不是使用$.ajax
加载图片。这是两个单独的请求!
var $img = $thisComp.find('.DummyImage');
.on("load", function() {
alert($img.width() / $img.height());
})
.attr("src", this.imageUrl);