javascript - 更快的图像加载

标签 javascript html

我想在我的页面上一张一张地显示大约 5-8 张图像,但我希望它们预先加载一张图像,而不是每次我切换到另一张图像时都加载它们。

我见过一些示例,其中页面上的所有图像(隐藏)如下:

<a href=""><img id="img1" src="images/image1.png" class="image" alt="" /></a>
<a href=""><img id="img2" src="images/image1.png" class="image" alt="" /></a>
<a href=""><img id="img3" src="images/image1.png" class="image" alt="" /></a>

并取消隐藏当前图像。

我所拥有的是一张图像,我更改了它的 src 属性,作为数组中新图像的路径。

SwitchNextImage: function(){    
   var theimg=document.getElementById("imgContainer");                  

   this.currentIndex = this.currentIndex+ 1 == this.totalImageCount ? 0 : this.currentIndex + 1;
   theimg.src=this.slideimages[this.currentIndex].src;          
}

第一种方法显然加载速度更快。但需要静态链接。
我的问题是如何使我的方法加载速度更快?

最佳答案

您应该研究一下图像预加载。您可以通过 javascript 为每个图像创建一个新的图像对象来实现您想要的:

var img = new Image();
img.src = "image2.png";

这将获取图像并将其存储在缓存中,而不实际将其显示在页面上,因此当您切换主图像的src时,浏览器可以从缓存中获取它。对所有图像重复此操作,您就应该完成设置。

关于javascript - 更快的图像加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2577577/

相关文章:

javascript - 如何在点击搜索框时制作列表 div

HTML 在 IE10 中不起作用,但在 IE7 中不起作用

javascript - 图例复制

javascript - #js中URL地址中的变量

javascript - 具有滚动效果的粘性导航栏在浏览器上不起作用,而在代码笔上却起作用

php - 如何提取同一文件中的 id 属性以用于查询

javascript - 当字符串为空时以不同的方式连接字符串

javascript - Jquery动态表中最接近的输入

javascript - 使用 httpbackend 测试 ngResource - 可能是未处理的拒绝错误

javascript - CSS 如何让粒子留下一条逐渐消失的轨迹?