使用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 】
相关推荐:
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
android nfc常用标签读取总结
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
如何快速重置建站主机并恢复默认配置?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
如何快速搭建高效服务器建站系统?
Laravel如何配置Horizon来管理队列?(安装和使用)
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
如何快速搭建虚拟主机网站?新手必看指南
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
微信小程序 HTTPS报错整理常见问题及解决方案
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
实现点击下箭头变上箭头来回切换的两种方法【推荐】
5种Android数据存储方式汇总
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
如何在万网主机上快速搭建网站?
如何快速完成中国万网建站详细流程?
Laravel怎么上传文件_Laravel图片上传及存储配置
Python制作简易注册登录系统
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
javascript日期怎么处理_如何格式化输出
PHP正则匹配日期和时间(时间戳转换)的实例代码
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何在IIS7上新建站点并设置安全权限?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
iOS UIView常见属性方法小结
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Android Socket接口实现即时通讯实例代码
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何在万网ECS上快速搭建专属网站?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
七夕网站制作视频,七夕大促活动怎么报名?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何在橙子建站上传落地页?操作指南详解
nodejs redis 发布订阅机制封装实现方法及实例代码
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】

