gpt4 book ai didi

javascript - 在使用javascript加载页面之前从数组中缓存动态图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:36 29 4
gpt4 key购买 nike

我正在尝试制作 4 个滑动画廊,但我需要在启动画面后面预加载(缓存)所有图像,然后再以画廊形式显示图像。我一直在尝试使用“jPreLoader v2 - http://www.inwebson.com/jquery/jpreloader-a-preloading-screen-to-preload-images”,但没有成功。

下面的代码是我如何尝试将每个图库目录中的所有图像预加载到 jpreloader 后面的单个图库,然后在加载完成后删除整个图库并一次显示每个图库。

var pictures =  [
"1.jpg",
"2.jpg",
"3.jpg",
"4.jpg",
.......,
"30.jpg"
]

$(window).load(function(){

preLoad();

function preLoad(){
var max = 30;
var pic;
picture = '<table id="table" style="dipslay:table;"><tr>';
for (var i=0;i < max; i++){
if(i < 30){
pic = "images/art/"+pictures[i];
appendCell(pic);
}
if(i < 17){
pic = "images/street/"+pictures[i];
appendCell(pic);
}
if(i < 19){
pic = "images/doc/"+pictures[i];
appendCell(pic);
}
if(i < 16){
pic = "images/commercial/"+pictures[i];
appendCell(pic);
}
};
picture += '</tr></table>';
$('#imageScroller').append(picture);
}

function appendCell(pic){
picture +="<td class='image'><img class='i' src='"+pic+"'></td>";
return;
}
});

我不太确定如何在上面的动态图像加载循环中实现 jpreloader,而不是已经插入到 dom 中。

$(document).ready(function () {
$('body').jpreLoader();
});

谢谢。

最佳答案

随着图像下载而更新的自定义进度条

var pictures = [
"1.jgp",
"2.jpg"
];

var loadedSoFar = 0;

function loaded( ) {
// do stuff
}

function updateProgress( ) {

loadedSoFar++;

var newWidth = $("#progress").width() * ( loadedSoFar / pictures.length );
$("#bar").stop( true, true );
$("#bar").animate({ width: newWidth }, 500, function( ) {
if( loadedSoFar === pictures.length ) { loaded() }
});
}

for( var i = 0; i < pictures.length; i++ ) {
var img = new Image();
img.src = pictures[ i ] + i;

img.onload = function( ) {
updateProgress();
}
}

演示 here

关于javascript - 在使用javascript加载页面之前从数组中缓存动态图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982789/

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