使用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


相关推荐: Bootstrap整体框架之JavaScript插件架构  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  香港网站服务器数量如何影响SEO优化效果?  简单实现Android验证码  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何为不同团队 ID 动态生成多个非值班状态按钮  用v-html解决Vue.js渲染中html标签不被解析的问题  Python文件流缓冲机制_IO性能解析【教程】  黑客如何通过漏洞一步步攻陷网站服务器?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Laravel如何升级到最新版本?(升级指南和步骤)  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  如何自定义建站之星模板颜色并下载新样式?  使用豆包 AI 辅助进行简单网页 HTML 结构设计  SQL查询语句优化的实用方法总结  如何在Tomcat中配置并部署网站项目?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel Session怎么存储_Laravel Session驱动配置详解  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  怎么用AI帮你设计一套个性化的手机App图标?  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何在搬瓦工VPS快速搭建网站?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  企业网站制作这些问题要关注  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  网站建设保证美观性,需要考虑的几点问题!  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Laravel distinct去重查询_Laravel Eloquent去重方法  如何快速查询网站的真实建站时间?  浅述节点的创建及常见功能的实现  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel如何使用.env文件管理环境变量?(最佳实践)  javascript基本数据类型及类型检测常用方法小结  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Laravel如何使用Vite进行前端资源打包?(配置示例)  音响网站制作视频教程,隆霸音响官方网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】