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

发布时间 - 2026-01-10 22:17:19    点击率:

在做网页开发的时候,有时候希望给图片设置一个备选路径,即,当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获取input file绝对路径的方法(推荐)  # js获取上传文件的绝对路径实现方法  # JavaScript获取当前url根目录(路径)  # 通过js获取上传的图片信息(临时保存路径  # 名称  # 大小)然后通过ajax传递给后端的方法  # 浅谈NodeJS中require路径问题  # JS取得绝对路径的实现代码  # 加载  # 可以使用  # 小编  # 这一  # 在此  # 注意到  # 给大家  # 所述  # 绑定  # 给我留言  # 感谢大家  # 切换到  # 疑问请  # 有任何  # js  # main  # jpg  # image  # strong  # DOM 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 怎样使用JSON进行数据交换_它有什么限制  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  jQuery中的100个技巧汇总  canvas 画布在主流浏览器中的尺寸限制详细介绍  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何发送系统通知?(Notification渠道示例)  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  linux top下的 minerd 木马清除方法  iOS验证手机号的正则表达式  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  免费视频制作网站,更新又快又好的免费电影网站?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  深圳网站制作的公司有哪些,dido官方网站?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel怎么实现模型属性的自动加密  如何在阿里云虚拟主机上快速搭建个人网站?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  创业网站制作流程,创业网站可靠吗?  用v-html解决Vue.js渲染中html标签不被解析的问题  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  iOS发送验证码倒计时应用  如何快速搭建高效WAP手机网站?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何用y主机助手快速搭建网站?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  焦点电影公司作品,电影焦点结局是什么?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Android自定义listview布局实现上拉加载下拉刷新功能  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel如何使用查询构建器?(Query Builder高级用法)  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  JavaScript如何实现继承_有哪些常用方法