预加载 HTML 中的图像

2024-01-27

我想预加载这 4 张图像。我试过这个:

<img src="img/1.jpg" style="display:none">
<img src="img/1a.jpg" style="display:none">
<img src="img/1b.jpg" style="display:none">
<img src="img/1c.jpg" style="display:none">

它不起作用,所以我尝试了这个:

new Image().src = "img/1.jpg";
new Image().src = "img/1a.jpg";
new Image().src = "img/1b.jpg";
new Image().src = "img/1c.jpg";

JS 方法适用于后台,但不适用于这些。


尝试利用$.Deferred() , .queue()

var images = ["http://lorempixel.com/1200/800/cats/"
             , "http://lorempixel.com/1200/800/nature/"
             , "http://lorempixel.com/1200/800/animals/"
             , "http://lorempixel.com/1200/800/technics/"
             ];
    // do stuff when image loaded
    var loadImage = function loadImage(elem) {
      return $(elem).fadeTo(500, "1.0", "linear"); 
    };
    
    // load images
    var loadImages = function loadImages(urls, image, complete) {
        // `this` : `document`
        urls.forEach(function(imageSrc, i) {
          var img = new Image;
          var dfd = new $.Deferred();
          // return `this` : `document`
          dfd.then(function(ready) {
              loadImage(ready);   
              return this
          }, function(error) {
             console.log(error)
          })
          .always(function() {
             console.log(complete, urls.length);
             return urls.length === complete 
                    ? $(this)
                      .data("complete", complete + " images loaded")
                      .dequeue("images") // when all images loaded
                    : this
    
          });
          // log errors
          img.onerror = dfd.reject;
          img.onload = function(e) {
            complete = this.complete ? ++complete : complete;
            dfd.resolveWith(document, [
              image.eq(i).prop("src", this.src)
              ]
            );
    
          };
          img.src = imageSrc
          });
          // return `this` : `document`
          return this
    };
    

    $(window).load(function() {
        // init `loadImages`
        var complete = 0;
        // call `loadImages`,
        // `this` context : `document` 
        loadImages.call(document, images, $(".image"), complete)
    
    });
    
    $(document).ready(function() {
        // notify when all images loaded
        $(this).queue("images", function() {
          console.log($(this).data())
        });               
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<!-- note , `src` attribute not included -->
<img class="image" style="opacity:0.0" alt="1">
<img class="image" style="opacity:0.0" alt="1a">
<img class="image" style="opacity:0.0" alt="1b">
<img class="image" style="opacity:0.0" alt="1c">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

预加载 HTML 中的图像 的相关文章

随机推荐

  • 如何防止引用的包含搜索当前源文件的目录?

    海湾合作委员会提供 I 选项 其中 I之前的目录 I 搜索引用的包含 include foo h and I以下目录 I 搜索括号内的包含 include
  • 在verilog中将wire值转换为整数

    我想将电线中的数据转换为整数 例如 wire 2 0 w 3 b101 我想要一个将其转换为 5 并将其存储在整数中的方法 我怎样才能以比这更好的方式做到这一点 j 1 for i 0 i lt 2 i i 1 begin a a w i
  • 如何通过 Google Drive API 使用刷新令牌生成访问令牌?

    我已完成授权步骤并获得访问令牌和刷新令牌 接下来我应该做什么来使用我通过 google Drive API 存储的刷新令牌生成访问令牌 由于我在 Force com 上工作 因此我无法使用任何 sdk 因此请建议直接通过 API 实现它的方
  • 经典 asp - 仅接收肥皂响应的一部分

    我试图从经典 asp 调用肥皂请求 它将在稍后更新 但现在它仍然是经典 asp 但我只得到一半的响应 当我在 SoapUI 中使用请求字符串时 我得到了我正在寻找的响应 但在 asp 中我只收到了部分响应 ASP 请求 Set oXmlHT
  • scala:重写构造函数的隐式参数

    我有一个类 它采用隐式参数 该参数由类内部方法调用的函数使用 我希望能够覆盖该隐式参数 或者从其源复制隐式参数 举个例子 def someMethod implicit p List Int uses p class A implicit
  • 如何在市场上发布应用程序的两个版本?

    我想将我的应用程序的两个版本添加到 Android 市场 一种只需几美分 另一种是带有广告的免费版本 这是一种非常常见的做法 我目前正在将 AdMod 构建到我的应用程序中 看来我必须更改相当多的文件 因此最好为此制作一个单独的应用程序版本
  • 如何提高自编码器的准确率?

    我有一个自动编码器 我使用不同的解决方案检查了模型的准确性 例如更改转换层的数量并增加它们 添加或删除批量归一化 更改激活函数 但所有这些解决方案的准确性都是相似的 并且不一样有任何奇怪的改进 我很困惑 因为我认为这些不同解决方案的准确度应
  • JavaScript 中重复元素的独特排列

    假设我们有元素 0 和 1 它们可以出现多次 就像00 00 11 00 00 11 11 or 01 11 为了更好的可读性分成 2 组 我已经有一个函数来生成所有独特的排列 class UniqueElement constructor
  • 如何在同一行上同时打印多个内容(固定文本和/或变量值)?

    我有一些代码 例如 score 100 name Alice print Total score for s is s name score 我想要打印出来Total score for Alice is 100 但我得到的是Total s
  • Android 从 Activity 传递和检索额外内容到 Fragment

    我有一个活动 用户按下按钮 然后发送到片段 但我希望传递一个额外的片段以供使用 活动A 按钮在哪里 public OnClickListener publish new OnClickListener Override public voi
  • 如何从 MySql 服务器到 Android 应用程序?

    我有一个 MySql 数据库 里面有一些体育比赛结果 我想写一个Android应用程序来在手机上显示这些数据 我在网上搜索过这个问题 我认为MySql数据库和Android应用程序之间不可能有直接连接 这是正确的吗 所以我的问题如下 我怎样
  • redux-observable Promise 在单元测试中没有得到解决

    我正在尝试测试这部史诗https github com zarcode unsplashapp blob master src epics photos js https github com zarcode unsplashapp blo
  • Apache Spark - Spark 中的内部作业调度程序如何定义什么是用户,什么是池

    我很抱歉在这里说得有点笼统 但我对 Spark 内部的作业调度如何工作有点困惑 从文档中here https spark apache org docs latest job scheduling html scheduling withi
  • 在 os.walk() for 循环中使用 os.remove() 返回 FileNotFoundError

    我在 Anaconda 命令提示符中使用 Python 3 6 4 我有一个使用的函数os walk 循环遍历根目录中的所有可用文件 我的代码是 def apply to files pattern base regex re compil
  • 防止 pydub 打开控制台窗口

    有没有办法阻止 pydub 在使用 ffmpeg 在 Windows 上 时打开控制台窗口 每次启动 ffmpeg 将 mp3 文件转换为 wav 时 它都会短暂打开一个控制台窗口 该窗口会在处理完成后自动关闭 但可能会造成干扰 我使用的解
  • 模板参数内的括号,例如std::function

    我正在读关于std function在第 3 部分中 关于 C 回调的 长 答案https stackoverflow com a 28689902 3832877 https stackoverflow com a 28689902 38
  • 任何人都可以获得任何 C# 代码来解析 robots.txt 并根据它评估 URL

    简短的问题 有没有人有任何 C 代码来解析 robots txt 然后根据它评估 URL 看看它们是否会被排除 长问题 我一直在为尚未发布到谷歌的新网站创建站点地图 站点地图有两种模式 用户模式 如传统站点地图 和 管理 模式 管理模式将显
  • 如何使用QueryParser进行Lucene范围查询(IntPoint/LongPoint)

    我真正喜欢 Lucene 的一件事是查询语言 我 应用程序用户可以在其中编写动态查询 我通过解析这些查询 QueryParser parser new QueryParser indexWriter getAnalyzer Query qu
  • 如何分别变换形状的每一面?

    如何创建一个 CSS 形状 其中每一面都单独变换 类似于下图中的形状 只使用 CSS 而不使用图像可以吗 我认为 CSS 中没有任何方法可以单独选择和变换每一面 但您可以通过使用透视变换 纯 CSS 来实现有问题的形状 沿 X 轴和 Y 轴
  • 预加载 HTML 中的图像

    我想预加载这 4 张图像 我试过这个 img src img 1 jpg style display none img src img 1a jpg style display none img src img 1b jpg style d