附加后的图像大小/宽度不可用

时间:2014-02-12 11:21:13

标签: javascript jquery image dom image-size

我目前正在编写一个jQuery插件,其中克隆图像然后插入DOM。我面临的问题是,即使图像被克隆(因此已经缓存,因为我在window.load上执行此代码),在附加后宽度()和高度()需要一段时间才能变得可用他们到DOM。脚本太长了,无法在此发布,但总的来说我这样做:

var clone = $(el).clone(); //el is some container containing one or more images
$(someElementInDOM).append(clone);

clone.find("img").each(function() {
    console.log("height: "+$(this).height()+", width: "+$(this).width());
});

这给我0宽度和高度。如果我在执行console.log之前等了一会儿就可以使用宽度和高度了。我知道图像的load事件,但我不能使用它,因为我严重依赖于我的代码同步执行(因为元素插入DOM的顺序至关重要)。由于似乎不可能同步执行load事件,我想知道该怎么做。我甚至不确定为什么会出现这种情况,在我看来,下载的图像应该在将其附加到DOM之后立即附加宽度和高度?

谢谢!

0 个答案:

没有答案