gpt4 book ai didi

javascript - 预加载图像,(javascript 中的源代码)

转载 作者:行者123 更新时间:2023-11-30 10:50:16 25 4
gpt4 key购买 nike

好的,我之前问过如何做一个 javascript 图像悬停效果,但是该效果不允许预先加载图像。我想知道是否有人可以帮助我改进/制作新脚本来预加载请求的图像。这是代码:

$('#nav li a img').each(function() {
var originalSrc = this.src,
hoverSrc = originalSrc.replace(/\.(gif|png|jpe?g)$/, '_hover.$1');

$(this).hover(function() {
this.src = hoverSrc;
}, function() {
this.src = originalSrc;
});
});

最佳答案

你可以使用通用的...

(function() {
var imgs = ['a.jpg', 'b.jpg'],
imgsLength = imgs.legnth,
index = 0,
loadNextImage = function() {

var image = new Image();

image.onload = function() {
if (index == imgsLength) {
return;
}
index++;
loadNextImage();
}

image.src = imgs[index];
}
}();

jsFiddle .

...或者对于您的具体示例...

$('#nav li a img').each(function() {
var originalSrc = this.src,
hoverSrc = originalSrc.replace(/\.(gif|png|jpe?g)$/, '_hover.$1');
image = new Image();

image.src = hoverSrc;

$(this).hover(function() {
this.src = hoverSrc;
}, function() {
this.src = originalSrc;
});
});

这将在运行 JavaScript 时加载它们。它们的 load 事件没有处理程序,因此您可能希望添加一个处理程序并且在实际下载它们之前不显示悬停效果。

关于javascript - 预加载图像,(javascript 中的源代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com