Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery用noimage图标替换损坏的图像_Javascript_Jquery_Image_Replace - Fatal编程技术网

Javascript jquery用noimage图标替换损坏的图像

Javascript jquery用noimage图标替换损坏的图像,javascript,jquery,image,replace,Javascript,Jquery,Image,Replace,我有两个图片链接,还没有任何图片,但我知道当它们可用时,它们将被命名为pic1和pic2.jpg,所以我为img标签设置了mage src。但是,在图像可用之前,我不希望出现断开图像的红十字,因此我有noimage.jpg图标,它应该替换所有断开图像的src。我正在使用这个和它的工作,但noimage图标取代了破碎的图像后,破碎的图像红十字会快速闪光。我们能不能防止快速闪光完全显示红十字会破碎图像的东西,这样用户只能看到noimage图标 $("img").error(function () {

我有两个图片链接,还没有任何图片,但我知道当它们可用时,它们将被命名为pic1和pic2.jpg,所以我为img标签设置了mage src。但是,在图像可用之前,我不希望出现断开图像的红十字,因此我有noimage.jpg图标,它应该替换所有断开图像的src。我正在使用这个和它的工作,但noimage图标取代了破碎的图像后,破碎的图像红十字会快速闪光。我们能不能防止快速闪光完全显示红十字会破碎图像的东西,这样用户只能看到noimage图标

$("img").error(function () {  
 $(this).unbind("error").attr("src", "noimage.gif"); }); 
试试这个

$(function() {
    $("img").one("load", function() {
        $(this).show();
    }).each(function() {
        if (this.complete) $(this).load();
    }).error(function () {  
        $(this).unbind("error").attr("src", "noimage.gif");
    }).hide();
});

在document ready上,它将隐藏每个图像,然后运行“load”方法来显示它们,同时还包括错误处理代码。

它当前是否包装在jQuery document ready调用中?为什么不在DOM load上淡入图像?这可能会解决flash的问题,因为图像将被加载并替换为它在文档中。ready(){}如何使图像淡入?下面是一个快速的方法。希望它不会造成页面性能问题,是吗?上面的代码没有什么繁重的东西,所以我不会担心它。如果您谈论的是1000张图像,那么您所做的任何事情都会对性能产生影响。顺便说一句,如果您确实喜欢JohnP提到的图像淡入的想法,只需将.show()更改为.fadeIn(间隔毫秒)。不过,这可能会对性能产生影响,因为任何元素的淡出都比简单的表演需要付出更多的努力。