JavaScript通过使用onerror设置默认图像显示代替alt


Posted in Javascript onMarch 01, 2016

JavaScript代码

 //图像加载出错时的处理
function errorImg(img) {
img.src = "默认图片.jpg";
img.onerror = null;
}

html代码

<img width="32" height="32" src="1.jpg" onerror="errorImg(this)" />

为了美观当网页图片不存在时不显示叉叉图片

当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了”图片XX”的提示信息,也起不了多大作用。
其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:

1、让这个图片元素隐藏:

为了美观当网页图片不存在时不显示叉叉图片 src="图片的url地址" alt="图片XX" onerror="this.style.display='none'"/>

2、用默认的图片替换:

为了美观当网页图片不存在时不显示叉叉图片 src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址'"/>

注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。

因此, 需要用下面两种方法解决:

a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。

b、控制onerror事件只触发一次,需要增加这句话:this.onerror=null; 增加后如下:

为了美观当网页图片不存在时不显示叉叉图片 src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址;this.onerror=null'"/>

经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持。

Javascript 相关文章推荐
jquery1.4 教程二 ajax方法的改进
Feb 25 Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 Javascript
javascript关于运动的各种问题经典总结
Apr 27 Javascript
javascript无刷新评论实现方法
May 13 Javascript
Bootstrap每天必学之表单
Nov 23 Javascript
JS基于面向对象实现的选项卡效果示例
Dec 20 Javascript
详解JS去重及字符串奇数位小写转大写
Dec 29 Javascript
JavaScript之Map和Set_动力节点Java学院整理
Jun 29 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
Dec 31 Javascript
layui表格 返回的数据状态异常的解决方法
Sep 10 Javascript
ES6 Promise对象概念及用法实例详解
Oct 15 Javascript
jQuery增加与删除table列的方法
Mar 01 #Javascript
JavaScript如何实现组合列表框中元素移动效果
Mar 01 #Javascript
JavaScript常用函数工具集:lao-utils
Mar 01 #Javascript
JavaScript Array对象详解
Mar 01 #Javascript
jQuery计算文本框字数及限制文本框字数的方法
Mar 01 #Javascript
jQuery xml字符串的解析、读取及查找方法
Mar 01 #Javascript
原生javascript实现解析XML文档与字符串
Mar 01 #Javascript
You might like
PHP Token(令牌)设计
2008/03/15 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
python使用心得之获得github代码库列表
2014/06/25 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
浅谈Python 对象内存占用
2016/07/15 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
银行演讲稿范文
2014/01/03 职场文书
工作睡觉检讨书
2014/02/25 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
中药专业自荐信范文
2014/03/18 职场文书
七夕活动策划方案
2014/08/16 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
岳麓书院导游词
2015/02/03 职场文书
老兵退伍感言
2015/08/03 职场文书