[转]js判断图片是否存在,不存在则显示默认图片 onerror事件

转载自: http://hi.baidu.com/zdz8207/blog/item/358885180de9d6bd4bedbc4a.html

<img width="90" height="120" src="../images/avatars/default.jpg"onerror="javascript:this.src='../images/avatars/default.jpg'" border="0"/>

或者<img width="90" height="120" src="../images/avatars/default.jpg"onerror="this.src='../images/avatars/default.jpg'" border="0"/>

当图片不存在时,将触发onerror,onerror 中img为 指定的默认图片。
图片存在则显示正常图片,图片不存在将显示默认。但如果默认图片也不存在,则继续触发 onerror,导致循环,出现错误。
如果图片存在,但网络很不通畅,也可能触发 onerror。

所以要确保 onerror 中的图片足够小,并且存在。

另外一种防止死循环的方式是调用一个方法,只执行一次onerror,代码如下:

function imgOnerror(img){
img.src="../images/avatars/default.jpg";
img.onerror=null;//控制不要一直跳动
}
<img width="90" height="120" src="../images/avatars/default.jpg" onerror="imgOnerror(this)" border="0"/>

posted on 2011-07-15 00:51  DavidYanXW  阅读(605)  评论(0编辑  收藏  举报