使用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技巧之不要用for in语句对数组进行遍历
Oct 20 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
Mar 28 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
Feb 17 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
Sep 12 Javascript
浅析javascript函数表达式
Feb 10 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
javascript比较语义化版本号的实现代码
Sep 09 Javascript
基于JavaScript实现弹幕特效
Aug 27 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
Aug 16 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 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中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
19个Android常用工具类汇总
2014/12/30 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
js的写法基础分析
2011/01/17 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
安全生产汇报材料
2014/02/17 职场文书
安全保证书范文
2014/04/29 职场文书
服务行业口号
2014/06/11 职场文书
公司周年庆典标语
2014/10/07 职场文书
亮剑精神观后感
2015/06/05 职场文书
亲戚关系证明
2015/06/24 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python