我正在使用一个jQuery 插件,一旦页面上的所有图像都已加载,它就会调用回调。它检查imageObject.complete
属性并将处理程序绑定到load
和error
事件以确定何时完成图像加载。
这很好用,但我遇到的问题是,即使图像被认为已加载,但当我检查图像或其包含元素的height
和属性时,尺寸尚未更新。width
div
这是一个例子:
在尝试访问其和尺寸之前,如何确保包含元素已调整大小以适合图像?height
width
编辑 1:我清理并注释了我的 jsfiddle 中的代码,以使示例更易于理解。
编辑2:必须存在基于缓存的竞争条件或变化,因为当我从另一台机器运行代码时,它可以正常工作(即,正确计算上边距),这实际上不好,因为它不一致。这种不一致在 Chrome、FWIW 中更为明显。
另外,需要明确的是,目标不是init
每次加载图像时都调用;相反,init
应该在通过 AJAX 调用加载所有图像后调用一次load
。