使用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 相关文章推荐
一个用js实现控制台控件的代码
Sep 04 Javascript
js压缩工具 yuicompressor 使用教程
Mar 31 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
Jun 29 Javascript
jQuery实现瀑布流布局
Dec 12 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 Javascript
vue遍历对象中的数组取值示例
Nov 07 Javascript
javascript实现超好看的3D烟花特效
Jan 01 Javascript
微信小程序实现音频文件播放进度的实例代码
Mar 02 Javascript
vue全屏事件开发详解
Jun 17 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
php 日期时间处理函数小结
2009/12/18 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
为数据添加append,remove功能
2006/10/03 Javascript
JavaScript多线程的实现方法
2007/05/08 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
JS字符串函数扩展代码
2011/09/13 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
Python列表推导式的使用方法
2013/11/21 Python
pandas object格式转float64格式的方法
2018/04/10 Python
Django model反向关联名称的方法
2018/12/15 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
html5的localstorage详解
2017/05/09 HTML / CSS
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
《绿色蝈蝈》教学反思
2014/03/02 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
商场营业员岗位职责
2015/04/14 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis