删除小图像

时间:2012-08-22 07:31:09

标签: jquery

我有以下脚本来删除太小但无法正常工作的图片,第一次加载页面时,每个图像都被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');
        }

    });
});

2 个答案:

答案 0 :(得分:1)

你可能在加载之前检查了图像(这使得它们的宽度和高度等于0)。您可以使用$(image).load()

$(".story-img").load(function () {

    //...

});

答案 1 :(得分:0)

可能是因为图片数据在页面html加载完成之前还没有完成加载。你可以使用javascript LOAD事件,它等待所有图像加载完毕。使用

$(window).load(function(){}