如何预加载图像,然后在完成图像加载后更改div内容
||
我正在尝试预加载一堆图像,然后在完全加载它们之后,更改div的内容,到目前为止,这是我的代码,但它只会使我的浏览器陷入无限循环。任何帮助都会很棒。谢谢!
var mydir =\'slideshow_pics/\';
var myArray = new Array();
myArray[0] = mydir+\'0.jpg\';
myArray[1] = mydir+\'1.jpg\';
myArray[2] = mydir+\'2.jpg\';
myArray[3] = mydir+\'3.jpg\';
myArray[4] = mydir+\'4.jpg\';
myArray[5] = mydir+\'5.jpg\';
myArray[6] = mydir+\'6.jpg\';
myArray[7] = mydir+\'7.jpg\';
var myWidth = new Array();
myWidth[0] = \'470\';
myWidth[1] = \'450\';
myWidth[2] = \'450\';
myWidth[3] = \'500\';
myWidth[4] = \'550\';
myWidth[5] = \'450\';
myWidth[6] = \'800\';
myWidth[7] = \'300\';
var myCheck = new Array();
function preloader(images){
var i = 0;
// start preloading
for(i=0; i<=images.length; i++){
imageObj = new Image();
imageObj.src=images[i];
imageObj.onLoad = check(i, images.length);
};
}
function checkimg(data, w) {
p=0;
z=0;
o = \'no\';
var myImg = new Image();
myImg.src = data;
while (p == 0) {
if (myImg.naturalWidth == w) {
p = 1;
o = \'yes\';
}
z++;
}
return o;
}
function check(e,i) {
if( e == i ){
if (document.getElementById(\'myss\') != null) {
//now we need to make sure each image is fully loaded
for(i=0; i<=myArray.length; i++){
p=0;
z=0;
myCheck[i] = checkimg(myArray[i], myWidth[i]);
}//end foreach
if (myCheck.join(\'\') == \'yesyesyesyesyesyesyesyes\') {
document.getElementById(\'myss\').innerHTML = \'<embed src=\"RectangleSlideshow.swf\" width=\"1028px\" height=\"324px\"></embed>\';
}
}
};
}
没有找到相关结果
已邀请:
1 个回复
陷牡彭拈峰