如何使用jQuery来处理图片坏链具体实现步骤


Posted in Javascript onMay 02, 2013

今天我为大家讲解一个页面开发过程中的一个小技巧:如何处理裂图
也就是说如果这个图片没有加载成功了会怎么办?
第一步:HTML页面里:

<!DOCTYPE html> 
<html> 
<head> 
<title>gbin1</title> 
<meta charset=utf-8 /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> 
</script> 
</head> 
<body> 
<img src="broken.jpg"/> 
</body> 
</html>

运行这个页面大家会看到一个坏掉的图。
第二部:是一个JavaScript,它的功能是:如果图片坏掉了,就弹出一个出错提示:
$(function(){ 
$('img').error(function(){ 
alert('error'); 
}); 
});

运行一下,大家看到了吗?
第三部:接下来,我们想要提高界面的友好效果,我们可以调用attr用一张默认图片替换掉这张裂图:
$(function(){ 
$('img').error(function(){ 
//alert('error'); 
$(this).attr('src','http://www.gbtags.com/gb/networks/themes/img/logohover.png'); 
}); 
});

大家看到极客标签的logo图标没?这样就可以实现对裂图的处理了。
补充几句:其实error在jquery1.8以前是提倡使用的,1.9之后不太提倡了,但是仍然可以使用,个人觉得还挺方便的。
大家也可以换用下面这个方法:(error换成了on,后面加一个参数)
$(function(){ 
$('img').on('error',function(){ 
alert('error'); 
$(this).attr('src','http://www.gbtags.com/gb/networks/themes/img/logohover.png'); 
}); 
});

其实前一个error方法,是on方法的快捷方式
对了,如果你在本地测试error这个方法的话,需要启动服务器,因为error方法需要检查资源是否可用。比如这个test.html,需要在启动服务器后,在浏览器中输入http://localhost:8080/test.html 才可以看到效果。
希望能对大家有帮助,3Q!
Javascript 相关文章推荐
解析js如何获取当前url中的参数值并复制给input
Jun 23 Javascript
javascript中eval和with用法实例总结
Nov 30 Javascript
详解JavaScript逻辑And运算符
Dec 04 Javascript
动态的9*9乘法表效果的实现代码
May 16 Javascript
JSON字符串转换JSONObject和JSONArray的方法
Jun 03 Javascript
微信小程序 用户数据解密详细介绍
Jan 09 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
BootStrap select2 动态改变值的方法
Feb 10 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
Mar 07 Javascript
详解vue中v-on事件监听指令的基本用法
Jul 22 Javascript
全面解析Vue中的$nextTick
Dec 24 Vue.js
jQuery仿Excel表格编辑功能的实现代码
May 01 #Javascript
JavaScript 实现类的多种方法实例
May 01 #Javascript
Json字符串转换为JS对象的高效方法实例
May 01 #Javascript
Jquery post传递数组方法实现思路及代码
Apr 28 #Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 #Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 #Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
Apr 28 #Javascript
You might like
hadoop常见错误以及处理方法详解
2013/06/19 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
php发送邮件的问题详解
2015/06/22 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
javascript版2048小游戏
2015/03/18 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
python简单分割文件的方法
2015/07/30 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
Python程序暂停的正常处理方法
2019/11/07 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
介绍一下Python下range()函数的用法
2013/11/07 面试题
爱耳日活动总结
2014/04/30 职场文书
2014年电厂工作总结
2014/12/04 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
先进典型事迹材料
2014/12/29 职场文书
免职通知
2015/04/23 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB