迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 预加载图像

作者:迹忆客 最近更新:2024/03/16 浏览次数:

本教程教授如何使用 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);

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 JavaScript 中将 Base64 转换为图像

发布时间:2024/03/16 浏览次数:77 分类:JavaScript

将 Base64 字符串转换为图像的最简单方法是调用启动图像构造函数并将 base64 字符串作为图像源的函数。此解决方案需要最少的代码行和努力来获得更好的结果。此外,还有一些复杂的实

在 JavaScript 中操作图像

发布时间:2024/03/16 浏览次数:175 分类:JavaScript

本文将介绍 JavaScript 中的图像处理功能。我们将使用 CamanJS 这是一个 JavaScript 库来操作图像。

在 JavaScript 中交换图像

发布时间:2024/03/16 浏览次数:134 分类:JavaScript

本教程展示了如何使用 JavaScript 简单地交换图像。你将学习如何使用不同的方法交换图像,例如使用 onclick、鼠标单击和按钮单击。

在 JavaScript 中更改悬停图像

发布时间:2024/03/16 浏览次数:88 分类:JavaScript

在悬停时更改图像在 UI 上添加了一种很酷的氛围。此任务可以通过基本的 JavaScript 函数操作执行,也可以通过 jQuery 的 .hover() 函数执行。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便