如何使用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学习笔记(三)显示当时时间的代码
Apr 08 Javascript
js实现的常用的左侧导航效果
Oct 17 Javascript
详解JS 比较两个Json对象的值是否相等的实例
Nov 20 Javascript
jquery绑定事件不生效的解决方法
Feb 11 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
Aug 21 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
Dec 22 Javascript
Vue.js每天必学之组件与组件间的通信
Sep 08 Javascript
利用node.js实现反向代理的方法详解
Jul 24 Javascript
vuex学习之Actions的用法详解
Aug 29 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
JavaScript交换两个变量方法实例
Nov 25 Javascript
javascript实现雪花飘落效果
Aug 19 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
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
纯css实现窗户玻璃雨滴逼真效果
2015/08/23 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
Python 文件重命名工具代码
2009/07/26 Python
Python中optparse模块使用浅析
2015/01/01 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
python安装Scrapy图文教程
2017/08/14 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
C语言中break与continue的区别
2012/07/12 面试题
工作说明书范文
2014/05/07 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
SQL之各种join小结详细讲解
2021/08/04 MySQL
java调用Restful接口的三种方法
2021/08/23 Java/Android
python 闭包函数详细介绍
2022/04/19 Python