我的jQuery代码:
img[i]='img-src';
$("#popimage1").attr("src",img[i]);
alert($("#popimage1").width()); //doesn't give the width of the current image, but it gives for the previous, and for first null
我的html代码:
<img src="" id="popimage1"/>
所以概念是我用jquery为每个i加载不同的图像src,然后对宽度和高度进行一些计算。问题是我使用前一个计数器i获得了图像的值。我提出了一个临时解决方案
$("#popimage1").hide();
setTimeout(alert($("#popimage1").width(),2000);
$("#popimage1").show();
但是它并不总是有效,并导致不必要的超时。
除了警报之外,还有另一个使用img宽度和高度的函数,我只是为了方便起见编写了alert。任何帮助表示赞赏!
最佳答案
您必须等待图像首先加载。
尝试这个。
img[i] = "img-src";
$("#popimage1").attr("src", img[i]).load(function() {
alert($("#popimage1").width());
});