当原图片加载失败时,如何让图片加载上我们默认给的图片

我们可能会遇到这样的问题,当页面中的图片的加载失败时,我们想要该图片加载我们给的默认的图片,我在这里分享一下几种做法,希望对大家有所帮助。

1、在img标签中加上 οnerrοr="this.src='error.png ' ";

<img src="Images/1.png " οnerrοr="this.src='error.png ' " >


2、不想在每个img中都定义onerror事件的话,就使用jquery试试
JavaScript code

 $(window).load(function() {
      $('img').each(function() {
        if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
          this.src = './image/logo.gif';
          }
       });
    });


3、但是都要考虑,重载的图片仍然错误,就会陷入死循环

下面给出一个带重试次数,并且延迟加载的实现,超过重试次数仍不能正常显示的,显示缺省图片

<html


<head
<title>显示默认图片</title>
<scripttype="text/javascript"> 
  
functionshowImgDelay(imgObj,imgSrc,maxErrorNum){  
   showSpan.innerHTML += "--" +maxErrorNum;   //显示出加载图片出错的次数
   if(maxErrorNum>0){  
       imgObj.οnerrοr=function(){  
           showImgDelay(imgObj,imgSrc,maxErrorNum-1);  
       };  
       setTimeout(function(){  
           imgObj.src=imgSrc;  
       },500);  
   }else 
       imgObj.οnerrοr=null 
       imgObj.src="images/default.jpg";  
    
 
 
</script
</head
<body
<img onerror="showImgDelay(this,'123456.png',2);" src="666.png" width="200" height="200"/> 
<spanid="showSpan"></span
</body
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值