在图片没有加载完成时设置默认图片

在图片没有加载完成时设置默认图片


一、设置默认图片的原因

我们在进行前端开发的时候,发现当页面中的原图没有完成加载时,页面的位置会显示空白,当加载完成后,图片突然出现会显得很突兀,甚至页面布局还会发生跳动,让用户体验感变得很差。为了解决以上问题,我们要在图片没有加载完成时,设置默认图进行占位。


二、代码实现

在图片没有加载完成时设置默认图片,主要有两种方法:

1. 使用 placeholder 属性

img 标签中添加 placeholder 属性,并将其值设置为默认图片的 url,当原图加载失败或未加载时,会显示这个默认图片。

javascript 复制代码
<img src="原始图片url" placeholder="默认图片url" alt="图片描述">

2. 使用 onerror 事件

当图片加载失败时触发 onerror 事件,在此事件的处理函数中将 src 属性设置为默认图片的 url。

javascript 复制代码
<img :src="getSrc()" @error="onImgError($event)" />

//图片不存在时触发
onImgError(e){
	let img = e.srcElement;
    img.src = '默认图片url';
    img.onerror = null;
}

getSrc(){
	return require('原始图片url')
}

三、总结

  • placeholder 属性:这是一个更简洁、更声明式的方法,如果浏览器支持,可以直接使用;
  • onerror 事件:这种方法兼容性更好,并且允许你在图片加载失败时执行更复杂的逻辑,例如记录日志或者提供更多的错误信息。
相关推荐
陈随易28 分钟前
编程语言级别的Skill市场,AI Agent 的未来形态
前端·后端·程序员
SoaringHeart1 小时前
Flutter进阶:基于 EasyRefresh 的下拉刷新封装 n_easy_refresh_mixin.dart
前端·flutter
IT_陈寒3 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰4 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
竹林8184 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
妙码生花5 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
Awu12275 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
咪库咪库咪6 小时前
Vue3-生命周期
前端
莪_幻尘6 小时前
你的 AI Skill 越多越蠢?Token 上下文爆炸的求生指南
前端·ai编程
lichenyang4537 小时前
从 has.echo 到异步 API 注册表:一次 ASCF API 回调不触发的排查复盘
前端