如何使用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 相关文章推荐
JavaScript 参数中的数组展开 [译]
Sep 21 Javascript
面向对象设计模式的核心法则
Nov 10 Javascript
node.js调用C++开发的模块实例
Jul 03 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
Apr 01 Javascript
vue2 全局变量的设置方法
Mar 09 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
微信小程序实现下拉框功能
Jul 16 Javascript
vue项目使用.env文件配置全局环境变量的方法
Oct 24 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
May 16 Javascript
JavaScript实现点击图片换背景
Nov 20 Javascript
修改NPM全局模式的默认安装路径的方法
Dec 15 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
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
一个PHP日历程序
2006/12/06 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
node.js实现快速截图
2016/08/27 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
自考毕业生自我鉴定
2013/11/04 职场文书
英语专业毕业生自我鉴定
2013/11/09 职场文书
会议欢迎标语
2014/06/30 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
学校施工安全责任书
2015/01/29 职场文书
导游词之神仙居景区
2019/11/15 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Go 内联优化让程序员爱不释手
2022/06/21 Golang