我正在使用jQuery-load将内容加载到div容器中。不幸的是,当内容完全插入时,回调就会触发。此时不能确保图像完全加载。但是我需要对需要完全加载的图像进行一些修改。不幸的是,div容器不支持onload监听器。为每个图像标记注册一个监听器会变得太复杂(我可以找到一个基于PHP的解决方案)。这个问题有一个简单的解决方案吗?
答案 0 :(得分:0)
在进一步思考这个问题后,我发现使用图像的加载事件并不像我认为的那样复杂。原因是我的行为是指图像本身。我找到了以下解决方案:
function setcss(im) {
wdth = im.width();
if (calcSupport) var imcss = { maxWidth: wdth + "px", width: "calc(100% - 105px)", height: "auto" };
else var imcss = { width: "70%", height: "auto" }
im.css(imcss);
}
$(sel + " img[src*='.jpg']").each(function () {
var im = $(this)
im.on("load", function () {
setcss(im);
});
// Check if image is already loaded (browser might have had it in cashe)
if (im.get(0).complete) { setcss(im); console.log("already loaded"); }
});