搜索
首页web前端前端问答用javascript判断图片是否存在_不存在则显示默认图片的代码

在网站或应用中,有时候我们需要显示一张图片,但不确定该图片是否存在或者在服务器上是否被删除。这时候,如果直接显示该图片,可能会出现错误的情况。为了解决这个问题,我们可以使用Javascript代码来判断图片是否存在,在图片不存在的情况下,显示一张默认图片。本文将介绍如何使用Javascript来实现该功能。

首先,我们需要先将要显示的图片包裹在一个div或img标签中,并且在该标签中设置一个自定义的属性src-real,用来存储图片的真实路径。代码如下:

<div class="image-container">
  <img  class="image" src="" src-real="path/to/image.jpg" alt="用javascript判断图片是否存在_不存在则显示默认图片的代码" >
</div>

接下来,我们可以使用Javascript来判断图片是否存在。使用Image对象的onload和onerror事件,可以在图片加载完成或加载失败时触发相应的事件处理函数。我们可以在加载完成事件onload中设置图片的src属性为真实路径src-real,以此来显示图片;在加载失败事件onerror中设置图片的src属性为默认图片的路径,如下所示:

// 获取所有要判断的图片节点
const images = document.querySelectorAll('.image')

// 循环遍历每个图片节点
images.forEach(image => {

  // 创建一个新的Image对象
  const img = new Image()

  // 加载完成,显示实际图片
  img.onload = () => {
    image.src = image.getAttribute('src-real')
  }

  // 加载失败,显示默认图片
  img.onerror = () => {
    image.src = 'path/to/default-image.jpg'
  }

  // 设置Image对象的src属性并加载图片
  img.src = image.getAttribute('src-real')
})

在上述代码中,我们首先通过querySelectorAll方法获取所有要判断的图片节点,并且循环遍历每个图片节点。然后,我们创建了一个新的Image对象,并设置了其onload和onerror事件处理函数。当图片加载完成时,onload事件被触发,我们可以通过getAttribute方法获取图片的真实路径src-real,并将该路径赋值给图片节点的src属性,以此来显示实际图片;当图片加载失败时,onerror事件被触发,我们可以将图片节点的src属性设置为默认图片的路径,从而显示默认图片。

最后,我们需要在CSS中设置默认图片的样式,这样当图片加载失败时,可以显示正确的默认图片。代码如下:

.image {
  width: 300px;
  height: 200px;
  background-color: #ddd;
}

.image[src*="default"] {
  background-image: url('path/to/default-image.jpg');
  background-size: cover;
  background-repeat: no-repeat;
}

在上述代码中,我们首先设置图片的宽度、高度以及背景色。然后,我们通过CSS属性选择器[src*="default"]来选择所有src属性中包含"default"的图片节点,然后设置该图片节点的背景图片为默认图片的路径,以此来达到显示默认图片的效果。

综上所述,我们可以通过Javascript代码来判断图片是否存在,并在图片不存在时,显示默认图片。这样可以增强用户的体验,并减少因图片加载失败导致的错误情况。

以上是用javascript判断图片是否存在_不存在则显示默认图片的代码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
usestate()与用户ducer():为您的状态需求选择正确的挂钩usestate()与用户ducer():为您的状态需求选择正确的挂钩Apr 24, 2025 pm 05:13 PM

selectUsestate()forsimple,独立的StateVariables; useusereducer()forcomplexstateLogicorWhenStatedIppedsonPreviousState.1)usestate()isidealForsImpleUpdatesLikeTogGlikeTogGlikGlingaBglingAboolAboolAupDatingAcount.2)

使用usestate()管理状态:实用教程使用usestate()管理状态:实用教程Apr 24, 2025 pm 05:05 PM

useState优于类组件和其它状态管理方案,因为它简化了状态管理,使代码更清晰、更易读,并与React的声明性本质一致。1)useState允许在函数组件中直接声明状态变量,2)它通过钩子机制在重新渲染间记住状态,3)使用useState可以利用React的优化如备忘录化,提升性能,4)但需注意只能在组件顶层或自定义钩子中调用,避免在循环、条件或嵌套函数中使用。

何时使用usestate()以及何时考虑替代状态管理解决方案何时使用usestate()以及何时考虑替代状态管理解决方案Apr 24, 2025 pm 04:49 PM

useUsestate()forlocalComponentStateMangementighatighation; 1)usestate()isidealforsimple,localforsimple.2)useglobalstate.2)useglobalstateSolutionsLikErcontExtforsharedState.3)

React的可重复使用的组件:增强代码可维护性和效率React的可重复使用的组件:增强代码可维护性和效率Apr 24, 2025 pm 04:45 PM

ReusableComponentsInrectenHanceCodainainability and效率byallowingDevelostEsteSeTheseTheseThesAmeCompOntionComponcontRossDifferentPartsofanApplicationorprojects.1)heSredunceReDunceNundSimplifyUpdates.2)yessistensistencyInusErexperience.3)

反应中的虚拟DOM:通过有效更新来提高性能反应中的虚拟DOM:通过有效更新来提高性能Apr 24, 2025 pm 04:41 PM

TheVirtualDOMisalightweightin-memorycopyoftherealDOMusedbyReacttooptimizeUIupdates.ItboostsperformancebyminimizingdirectDOMmanipulationthroughaprocessofupdatingtheVirtualDOMfirst,thenapplyingonlynecessarychangestotheactualDOM.

HTML和React的集成:实用指南HTML和React的集成:实用指南Apr 21, 2025 am 12:16 AM

HTML与React可以通过JSX无缝整合,构建高效的用户界面。1)使用JSX嵌入HTML元素,2)利用虚拟DOM优化渲染性能,3)通过组件化管理和渲染HTML结构。这种整合方式不仅直观,还能提升应用性能。

React和HTML:渲染数据和处理事件React和HTML:渲染数据和处理事件Apr 20, 2025 am 12:21 AM

React通过state和props高效渲染数据,并通过合成事件系统处理用户事件。1)使用useState管理状态,如计数器示例。2)事件处理通过在JSX中添加函数实现,如按钮点击。3)渲染列表需使用key属性,如TodoList组件。4)表单处理需使用useState和e.preventDefault(),如Form组件。

后端连接:反应如何与服务器互动后端连接:反应如何与服务器互动Apr 20, 2025 am 12:19 AM

React通过HTTP请求与服务器交互,实现数据的获取、发送、更新和删除。1)用户操作触发事件,2)发起HTTP请求,3)处理服务器响应,4)更新组件状态并重新渲染。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。