如何使用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 相关文章推荐
jQuery表单验证插件formValidator(改进版)
Feb 03 Javascript
5个最佳的Javascript日期处理类库分享
Apr 15 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
如何在指定的地方插入html内容和文本内容
Dec 23 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
Jun 16 Javascript
javascript实现获取浏览器版本、浏览器类型
Dec 02 Javascript
基于easyui checkbox 的一些操作处理方法
Jul 10 Javascript
Angular实现表单验证功能
Nov 13 Javascript
详解JavaScript的BUG和错误
May 07 Javascript
微信小程序左滑删除实现代码实例
Sep 16 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
Nov 11 Javascript
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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
PHP函数积累总结
2019/03/19 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python flask中动态URL规则详解
2019/11/22 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
怎样写好创业计划书的内容
2014/02/06 职场文书
鼓舞士气的口号
2014/06/16 职场文书
医学检验专业自荐信
2014/09/18 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书