使用JavaScript为一张图片设置备选路径的方法


Posted in Javascript onJanuary 04, 2017

在做网页开发的时候,有时候希望给图片设置一个备选路径,即,当src属性对应的主路径加载失败的时候,图片可以马上切换到备选路径。这样,即使主路径失效了,显示备用路径也不会影响网页的正常体验。

注意到网页中一张图片加载失败会触发error事件,因此可以使用DOM模型中的load和error事件实现这一效果。

src1='main/image.jpg' //主路径
src2='another/image.jpg' //备用路径

jQuery 1.8以前

使用load和error方法捕捉事件

$('#imgMap' ).attr("src",src1).load(function(){console.log("图片加载成功")
        }).error(function(){
          console.log("图片加载失败,切换路径")
          $('#imgMap').attr('src',src2)    
        });

jQuery 1.8

由于jQuery1.8之后load()方法和error()方法已经废弃了,因此可以使用bind方法绑定事件

$('#img').attr("src",src1).bind( "load", function() {
 console.log("图片加载成功")
}).bind("error",function(){
  console.log("图片加载失败,切换路径")
      $('#img').attr('src',src2)  
});

jQuery 3.0

jQuery3.0以后,统一使用on方法捕获事件

$('#img').attr("src",src1).on( "load", function() {
 console.log("图片加载成功")
}).on("error",function(){
  console.log("图片加载失败,切换路径")
      $('#img').attr('src',src2)  
});

JavaScript

不想使用jQuery插件时,也可以调用JavaScript原生方法。使用addEventListener方法监听事件。

var Image = document.getElementById('img');
Image.src=src1;
Image.addEventListener('load', function(event) {
       console.log("图片加载成功")
});
Image.addEventListener('error', function(event) {
      console.log("图片加载失败,切换路径")
       Image.src=src2;
});

以上所述是小编给大家介绍的使用JavaScript为一张图片设置备选路径的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript编程起步(第三课)
Feb 27 Javascript
跨浏览器的事件对象介绍
Jun 27 Javascript
让你的博客飘雪花超出屏幕依然看得见
Jan 04 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
Jul 01 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
jquery动态增加删减表格行特效
Nov 20 Javascript
jQuery学习笔记之Ajax用法实例详解
Dec 01 Javascript
jquery.validate提示错误信息位置方法
Jan 22 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
JQuery的加载和选择器用法简单示例
May 13 jQuery
扫微信小程序码实现网站登陆实现解析
Aug 20 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
Jan 04 #Javascript
AngularJS入门示例之Hello World详解
Jan 04 #Javascript
详解AngularJS验证、过滤器、指令
Jan 04 #Javascript
Bootstrap3 图片(响应式图片&图片形状)
Jan 04 #Javascript
javascript 注释代码的几种方法总结
Jan 04 #Javascript
JS数组返回去重后数据的方法解析
Jan 03 #Javascript
js实现复选框的全选和取消全选效果
Jan 03 #Javascript
You might like
一篇不错的PHP基础学习笔记
2007/03/18 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
理清apply(),call()的区别和关系
2011/08/14 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
javascript实现评分功能
2020/06/24 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
Python导入txt数据到mysql的方法
2015/04/08 Python
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
python抓取网页中图片并保存到本地
2015/12/01 Python
详解python时间模块中的datetime模块
2016/01/13 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
django query模块
2019/04/20 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
介绍一下EJB的体系结构
2012/08/01 面试题
室内设计专业个人的自我评价
2013/10/19 职场文书
银行求职信范文
2014/05/26 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
大学教师个人总结
2015/02/10 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
2015年测量员工作总结
2015/05/23 职场文书
检讨书范文
2019/04/16 职场文书
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers