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 相关文章推荐
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
Sep 19 Javascript
JavaScript之HTMLCollection接口代码
Apr 27 Javascript
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
Javascript Throttle &amp; Debounce应用介绍
Mar 19 Javascript
jquery的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
JavaScript函数中关于valueOf和toString的理解
Jun 14 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
Dec 08 Javascript
vue.js指令v-model使用方法
Mar 20 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
JS一次前端面试经历记录
Mar 19 Javascript
Vue列表循环从指定下标开始的多种解决方案
Apr 08 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脚本
2006/11/26 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
angularJS 入门基础
2015/02/09 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
解析Python中的二进制位运算符
2015/05/13 Python
用pickle存储Python的原生对象方法
2017/04/28 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
Django REST framework 分页的实现代码
2019/06/19 Python
python代码编写计算器小程序
2020/03/30 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
python3 配置logging日志类的操作
2020/04/08 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
四年级下册教学反思
2014/02/01 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
和睦家庭事迹
2014/05/14 职场文书
安全口号大全
2014/06/21 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang