如何使用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 贪吃蛇实现代码
Nov 22 Javascript
跟我一起学写jQuery插件开发方法(附完整实例及下载)
Apr 01 Javascript
javascript 动态修改样式和层叠样式表代码
Apr 27 Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 Javascript
实例讲解JS中数组Array的操作方法
May 09 Javascript
详解JavaScript语言的基本语法要求
Nov 20 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
node.js 模块和其下载资源的镜像设置的方法
Sep 06 Javascript
微信小程序云开发使用方法新手初体验
May 16 Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 Javascript
Vue+Java+Base64实现条码解析的示例
Sep 23 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
第十四节--命名空间
2006/11/16 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
javascript 写类方式之四
2009/07/05 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
详细分析Python collections工具库
2020/07/16 Python
python 如何对logging日志封装
2020/12/02 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
幼儿园家长寄语
2014/04/02 职场文书
奥巴马的演讲稿
2014/05/15 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
员工培训协议书
2014/09/15 职场文书
信息合作协议书
2014/10/09 职场文书
出纳岗位职责
2015/01/31 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python