我有以下脚本来删除太小但无法正常工作的图片,第一次加载页面时,每个图像都被no-image.png
替换,刷新页面后它正常工作,是什么我在这里失踪了?
$(document).ready(function () {
$('.story-img').error(function () {
$(this).attr("src", "/Images/no-image.png");
$(this).css('border', 'none');
});
$(".story-img").each(function () {
var theImage = new Image();
theImage.src = $(this).attr("src") || $(this).src;
var imageWidth = theImage.width;
var imageHeight = theImage.height;
if (imageWidth < 32 || imageHeight < 32 || $(this).height() < 32 || $(this).width < 32) {
$(this).attr("src", "/Images/no-image.png");
$(this).css('border', 'none');
}
});
});
答案 0 :(得分:1)
你可能在加载之前检查了图像(这使得它们的宽度和高度等于0)。您可以使用$(image).load()
:
$(".story-img").load(function () {
//...
});
答案 1 :(得分:0)
可能是因为图片数据在页面html加载完成之前还没有完成加载。你可以使用javascript LOAD事件,它等待所有图像加载完毕。使用
$(window).load(function(){}