我有这个网页,它向我显示了一些图像,一些图像是在鼠标悬停事件上,因此它们需要时间来显示。我已经解决了这个问题,将鼠标悬停在图像上,并通过display none属性隐藏它们,这将它们放在浏览器缓存中,并在鼠标悬停时快速显示它们。我在想,是否可以通过另一种方式将图像插入到浏览器的缓存中,比如使用jQuery或其他方法,这样我就不必以隐藏的形式放置图像。
我不知道这个问题是不是很愚蠢。
请发表意见。
致敬Himanshu Sharma
发布于 2012-01-12 15:18:13
您可以预加载图像,这将导致它们在缓存中,因此它们可以立即用于鼠标事件等事情。有关预缓存图像数组的示例代码,请参阅this post。
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);发布于 2012-01-12 15:13:21
您可以只使用(new Image).src="http://path/to/img.jpg",它将使浏览器加载它
发布于 2012-01-12 15:16:17
首先,对小的和/或“鼠标悬停”的图像使用sprites。另外,是的,你可以用javascript预加载图片,但是要记住页面加载顺序,所以它可能不会比css快。
https://stackoverflow.com/questions/8831345
复制相似问题