JavaScript 预加载图像
本教程教授如何使用 JavaScript 预加载图像。
在谈如何预加载图片之前,我们先来了解一下为什么需要预加载图片。当我们在 HTML 中使用 <image>
标签定义图像时,浏览器会看到该图像,下载它,并在页面加载之前为我们缓存它。它使显示图像变得相当简单。但是当我们有一些由 JavaScript 代码触发的图像动态加载时,浏览器没有关于它的先验信息。因此,此类图像无法下载和缓存。这些图像将被即时加载,并且会在图像首先下载时导致显示延迟。它使网站看起来很糟糕,因此必须预加载这些图像。
例如:如果我们要显示滚动效果,即更改鼠标在其上滚动时显示的图像,我们必须确保第二张图像已预加载;否则,图像将花费大量时间加载,这会使网站看起来丑陋且反应迟钝。
使用 JavaScript 预加载图像
程序
-
启动一个变量
preloaded
来存储在预加载阶段加载的图像数量和一个图像数组images
来存储所有要预加载的图像的地址。 -
我们定义了一个函数
preLoader()
来为所有必须预加载的图像创建图像对象,并将src
属性存储在数组images
的对象上。我们还附加了一个函数progress()
来维护成功预加载的图像数量,并在所有图像预加载后执行任何操作。 -
我们向窗口添加一个事件侦听器,在加载 DOM 内容时调用我们的
preLoader()
。
代码
var preloaded = 0;
var images = new Array("img1.jpg", "img2.jpg", "img3.jpg");
function preLoader(e) {
for (var i = 0; i < images.length; i++) {
var tempImage = new Image();
tempImage.addEventListener("load", progress, true);
tempImage.src = imageArray[i];
}
}
function progress() {
preloaded++;
if (preloaded == imageArray.length) {
//ALL Images have been loaded, perform the desired action
}
}
this.addEventListener("DOMContentLoaded", preLoader, true);
相关文章
在 JavaScript 中跟踪鼠标位置
发布时间:2024/03/16 浏览次数:188 分类:JavaScript
-
在本教程中,我们将了解如何在 JavaScript 中使用鼠标事件跟踪鼠标位置。
在 JavaScript 中将 Base64 转换为图像
发布时间:2024/03/16 浏览次数:77 分类:JavaScript
-
将 Base64 字符串转换为图像的最简单方法是调用启动图像构造函数并将 base64 字符串作为图像源的函数。此解决方案需要最少的代码行和努力来获得更好的结果。此外,还有一些复杂的实
使用 JavaScript 将图像转换为 Base64 字符串
发布时间:2024/03/16 浏览次数:144 分类:JavaScript
-
本文将讨论如何通过创建画布并将图像加载到其中,并使用文件读取器方法获取图像的相应字符串,将图像转换为其 base64 字符串表示。
在 JavaScript 中操作图像
发布时间:2024/03/16 浏览次数:175 分类:JavaScript
-
本文将介绍 JavaScript 中的图像处理功能。我们将使用 CamanJS 这是一个 JavaScript 库来操作图像。
在 JavaScript 中交换图像
发布时间:2024/03/16 浏览次数:134 分类:JavaScript
-
本教程展示了如何使用 JavaScript 简单地交换图像。你将学习如何使用不同的方法交换图像,例如使用 onclick、鼠标单击和按钮单击。
使用 JavaScript 将 SVG 转换为 PNG
发布时间:2024/03/16 浏览次数:121 分类:JavaScript
-
本教程教授如何从 SVG 创建 PNG 图像。我们将使用 Canvg JavaScript 库和 toDataURL 方法。
在 JavaScript 中更改悬停图像
发布时间:2024/03/16 浏览次数:88 分类:JavaScript
-
在悬停时更改图像在 UI 上添加了一种很酷的氛围。此任务可以通过基本的 JavaScript 函数操作执行,也可以通过 jQuery 的 .hover() 函数执行。