我有一个页面可以在 FF 中正常加载,但在 Chrome 中无法正常工作,因为我有 2 个使用 $(window).load(function() 的脚本,而第 2 个脚本似乎在图像出现之前执行。
第一个脚本检查丢失的图像并替换错误图像:
$(window).load(function() {
$("img").each(function(){
var image = $(this);
if(image.context.naturalWidth == 0 ||
image.readyState == 'uninitialized'){
$(image).unbind("error").attr(
"src", "assets/img/image_missing.jpg"
);
}
});
});
第二个函数重新对齐一行中的元素,以防调整窗口大小(它是一个响应式页面):
$(window).load(function() {
columnConform();
});
当我在 Chrome 中对此进行调试时,第一个函数被执行,但是当第二个函数被执行时,任何丢失的图像都没有显示出来。它们仅在第二个功能完成后出现。
当页面首次加载时,找不到“Socketry”的图像,因此 Spanners/Metric/Imp 会立即显示在同一行的下方。
假设这是正确的,第二个脚本会重新对齐行,但是当显示“图像丢失”时,这会强制 Spanner 进入下一行。
“Image Missing”应该在行对齐之前显示,在这种情况下,行将正确对齐,就像在 Firefox 中一样。
*我会发布屏幕截图,但我没有 10 声望 - ggrrrhh!有时一张图片值 1000 字... *
我想我最好用文字来描述页面......
我有 13 张图片,每行显示 6 张,所以 2 行完整,1 张在第 3 行。
无法找到第 6 张图像,因此第 7 张图像显示在顶行缺少图像符号的正下方,而不是第 2 行的第 1 张图像。
第二个脚本对齐行,假设第 7 个图像在顶行,然后第一个脚本使“图像丢失”图像出现,这将第 7 个图像强制到第 2 行,它自己。
加载所有图像后,需要执行第二个脚本。
希望这是有道理的。