Sorry voor de vraag. Er bestaan al taloze image preloaders, maar heb nog nooit een degelijk preloader kunnen maken.
In onderstaand script van mij heb ik een preloader, die 1 voor 1 de afbeeldingen zou moeten binnenhalen. en wanneer dat gedaan is, een andere functie oproepen. (anders heeft de preloader geen zin)
nu heb ik een timeout gezet, omdat ik niet weet wanneer de afbeeldingen binnen zijn.
Hoe kan ik dat achterhalen? Is mijn script wel goed?
In onderstaand script van mij heb ik een preloader, die 1 voor 1 de afbeeldingen zou moeten binnenhalen. en wanneer dat gedaan is, een andere functie oproepen. (anders heeft de preloader geen zin)
nu heb ik een timeout gezet, omdat ik niet weet wanneer de afbeeldingen binnen zijn.
Hoe kan ik dat achterhalen? Is mijn script wel goed?
JavaScript:
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
44
45
46
47
48
49
| var preloadimages = { images : [], cache: [], i : 0, ready : false, callback : "", add: function(img) { this.images.push(img) }, onready: function(fn) { this.callback = fn; this.init(); }, init: function() { var cacheImage = document.createElement('img'); cacheImage.src = this.images[this.i]; this.cache.push(cacheImage); setTimeout("preloadimages.done()",300) }, done: function(cacheImage) { if(!$(cacheImage).ready()) setTimeout("preloadimages.done()",300) else { this.i++; if(this.i<preloadimage.images.length) this.init(); else setTimeout("preloadimages.callback()",20) } } } function kiosk_init() { kiosk.getSlides(); theater.modus('preview'); panel.listLayers(); preloadimages.onready(kiosk_launch); } function kiosk_launch() { theater.play(); } |