首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在渲染之前在缓存中插入图像

是否可以在渲染之前在缓存中插入图像
EN

Stack Overflow用户
提问于 2012-01-12 15:10:09
回答 3查看 6K关注 0票数 3

我有这个网页,它向我显示了一些图像,一些图像是在鼠标悬停事件上,因此它们需要时间来显示。我已经解决了这个问题,将鼠标悬停在图像上,并通过display none属性隐藏它们,这将它们放在浏览器缓存中,并在鼠标悬停时快速显示它们。我在想,是否可以通过另一种方式将图像插入到浏览器的缓存中,比如使用jQuery或其他方法,这样我就不必以隐藏的形式放置图像。

我不知道这个问题是不是很愚蠢。

请发表意见。

致敬Himanshu Sharma

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-12 15:18:13

您可以预加载图像,这将导致它们在缓存中,因此它们可以立即用于鼠标事件等事情。有关预缓存图像数组的示例代码,请参阅this post

代码语言:javascript
复制
function preloadImages(srcs) {
    if (!preloadImages.cache) {
        preloadImages.cache = [];
    }
    var img;
    for (var i = 0; i < srcs.length; i++) {
        img = new Image();
        img.src = srcs[i];
        preloadImages.cache.push(img);
    }
}

// then to call it, you would use this
var imageSrcs = ["src1", "src2", "src3", "src4"];

preloadImages(imageSrcs);
票数 7
EN

Stack Overflow用户

发布于 2012-01-12 15:13:21

您可以只使用(new Image).src="http://path/to/img.jpg",它将使浏览器加载它

票数 3
EN

Stack Overflow用户

发布于 2012-01-12 15:16:17

首先,对小的和/或“鼠标悬停”的图像使用sprites。另外,是的,你可以用javascript预加载图片,但是要记住页面加载顺序,所以它可能不会比css快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8831345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档