Ik heb een heel vreemd probleem bij het preloaden van images. Ik roep de functie preload aan met als argument een array van afbeeldingen.
Afbeelding voor afbeelding wordt vervolgens op de standaard manier ge-preload, en vervolgens wil ik daarna weten of de afbeelding werkelijk 100% is binnengehaald, en dat doe ik dus met de object.complete functie.
Zodra ik tussen deze controle en de preload controle een alert() zet wordt de afbeelding wel ingeladen, maar zodra ik deze weghaal lijkt het de browser allemaal te snel te gaan en laad de afbeelding totaal niet in. En krijg ik dus de melding "niet geladen ...etc.) terug die ik als debugging erin heb gezet.
Ik heb het hiervoor al geprobeerd via een simpele loop door de array, maar omdat dat resulteerde in 99% onge-preloade images wilde ik er een timeout van 50ms tussenzetten. Ook dit werkt voor geen mtr.
Onderstaande is de nu nog rommelige code.
Afbeelding voor afbeelding wordt vervolgens op de standaard manier ge-preload, en vervolgens wil ik daarna weten of de afbeelding werkelijk 100% is binnengehaald, en dat doe ik dus met de object.complete functie.
Zodra ik tussen deze controle en de preload controle een alert() zet wordt de afbeelding wel ingeladen, maar zodra ik deze weghaal lijkt het de browser allemaal te snel te gaan en laad de afbeelding totaal niet in. En krijg ik dus de melding "niet geladen ...etc.) terug die ik als debugging erin heb gezet.
Ik heb het hiervoor al geprobeerd via een simpele loop door de array, maar omdat dat resulteerde in 99% onge-preloade images wilde ik er een timeout van 50ms tussenzetten. Ook dit werkt voor geen mtr.
Onderstaande is de nu nog rommelige code.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="javascript">
function preload(){
myimages=new Array()
imagecount = preload.arguments.length;
currentimage = 0;
timeout = 50;
if (currentimage != imagecount){
myimages[currentimage]=new Image()
myimages[currentimage].src=preload.arguments[currentimage]
//alert('pause');
if (myimages[currentimage].complete){
alert('afbeelding '+preload.arguments[currentimage]+' is volledig geladen');
}
else{
alert('afbeelding '+preload.arguments[currentimage]+' is niet geladen dat is dus kut');
}
currentimage = currentimage++;
setTimeout("preload('http://a1028.g.akamai.net/6/1028/968/444516c765e1c0/images.about.com/partners/vpn/brandbar/logo_lunabar_perl.gif','http://beheer.smash.net/micha/vriesvak.gif','http://beheer.smash.net/micha/jaws.gif','http://beheer.smash.net/micha/magnetron.gif','http://beheer.smash.net/micha/koffie.gif', 'http://beheer.smash.net/micha/micha.gif')", timeout);
}
else{
alert('afbeeldingen zijn allemaal geladen');
}
}
</script>
</head>
<body onload="preload('http://a1028.g.akamai.net/6/1028/968/444516c765e1c0/images.about.com/partners/vpn/brandbar/logo_lunabar_perl.gif','http://beheer.smash.net/micha/vriesvak.gif','http://beheer.smash.net/micha/jaws.gif','http://beheer.smash.net/micha/magnetron.gif','http://beheer.smash.net/micha/koffie.gif', 'http://beheer.smash.net/micha/micha.gif');">
</body>
</html> |