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 相关文章推荐
js隐藏与显示回到顶部按钮及window.onscroll事件应用
Jan 25 Javascript
jquery.ui.draggable中文文档(原文翻译)
Nov 15 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
Nov 23 Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 Javascript
.NET微信公众号开发之创建自定义菜单
Jul 16 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
react native 获取地理位置的方法示例
Aug 28 Javascript
JS中判断字符串存在和非空的方法
Sep 12 Javascript
解决ele ui 表格表头太长问题的实现
Nov 13 Javascript
easyUI 实现的后台分页与前台显示功能示例
Jun 01 Javascript
微信小程序实现点击生成随机验证码
Sep 09 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的异常处理类Exception的使用及说明
2012/06/13 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
原生JS实现层叠轮播图
2017/05/17 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
vue2 全局变量的设置方法
2018/03/09 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
在vue中使用console.log无效的解决
2020/08/09 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Python实现数据库编程方法详解
2015/06/09 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
Python切换pip安装源的方法详解
2016/11/18 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
python 动态调用函数实例解析
2019/10/21 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
手术室护士自我鉴定
2013/10/14 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
慰问信范文
2015/02/14 职场文书
爱的教育观后感
2015/06/17 职场文书
React自定义hook的方法
2022/06/25 Javascript