使用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 相关文章推荐
解决jquery的.animate()函数在IE6下的问题
Dec 03 Javascript
IE下使用cloneNode注意事项分享
Nov 22 Javascript
jQuery 事件的命名空间简单了解
Nov 22 Javascript
基于Jquery实现万圣节快乐特效
Nov 01 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
Mar 05 Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 Javascript
JQuery学习总结【一】
Dec 01 Javascript
javascript实现用户点击数量统计
Dec 25 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
May 11 Javascript
Js逆向实现滑动验证码图片还原的示例代码
Mar 10 Javascript
JS中的继承操作实例总结
Jun 06 Javascript
Antd中单个DatePicker限定时间输入范围操作
Oct 29 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 If Else(elsefi) 语句
2013/04/07 PHP
php数组去重复数据示例
2014/02/25 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
js Math 对象的方法
2013/09/01 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
Python set常用操作函数集锦
2017/11/15 Python
python实现k-means聚类算法
2018/02/23 Python
python实现拓扑排序的基本教程
2018/03/11 Python
django实现后台显示媒体文件
2020/04/07 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
医学护理毕业生自荐信
2013/11/07 职场文书
大学生预备党员自我评价分享
2013/11/16 职场文书
资产经营总监岗位职责
2013/12/04 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
书法大赛策划方案
2014/06/04 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
导游词之任弼时故居
2020/01/07 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL