gpt4 book ai didi

javascript:一次预加载一个图像

转载 作者:行者123 更新时间:2023-11-30 18:11:18 24 4
gpt4 key购买 nike

我目前有一个旋转背景,可在加载页面时预加载图像。但是,如果可能的话,我想一次预加载一张图片。

我的代码:

function preload(arrayOfImages) {
$(arrayOfImages).each(function(){


$('<img/>')[0].src = this;
// Alternatively you could use:
// (new Image()).src = this;
});
}
$(document).ready(function () {

var b = [<? $img = getContents(ROOT."/img/backgrounds/");
foreach($img as $i)
{ echo "\"" . $i . "\"";
if($i != end($img)) echo ",";
}
?>];
preload(b);

var r=Math.floor(Math.random()*b.length)
$('#bg1').css("background-image", "url('/img/backgrounds/"+b[r]+"')");

var alt = false;
var delay = 50000;
var speed = ((delay / 3)*2);
var opacity = 1;

setInterval(function() {
var r=Math.floor(Math.random()*b.length);

//put the individual preload code here

switch(alt)
{ case true:
$('#bg1').css("background-image", "url('/img/backgrounds/"+b[r]+"')");
$('#bg1').fadeTo(speed,opacity);
$('#bg2').fadeOut(speed);
break;
case false:
$('#bg2').css("background-image", "url('/img/backgrounds/"+b[r]+"')");
$('#bg2').fadeTo(speed,opacity);
$('#bg1').fadeOut(speed);
break;
}
alt = !alt;
}, delay);

});

上面的代码工作正常。如果有更好的方法请告诉我!但否则我怎么能一次只预加载一张图片呢?

最佳答案

function preload(arrayOfImages, index) {
index = index || 0;

if (arrayOfImages && arrayOfImages.length > index) {
var img = new Image();
img.onload = function() {
console.log(arrayOfImages[index] + " loaded successfully");
preload(arrayOfImages, index + 1);
};
img.src = arrayOfImages[index];
}
}

fiddle

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

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