Tänker jag rätt?
Jag vill förladda ett gäng bilder ur en array (pict).
Ur denna vill jag hämta det första värdet ur parantesen ('*.gif').
Framför detta lägger jag var imgsDir (images/*.gif).
Blir det nu så att alla fem gifbilder förladdas?
Är detta rätt skrivet av mig i detta javascript, förstår inte hur jag ska kolla det?
var imgsDir = 'images/' ;
pict = new Array() ;
pict[0] = new picture ('1.gif','Text1') ;
pict[1] = new picture ('2.gif','Text2') ;
pict[2] = new picture ('3.gif','Text3') ;
pict[3] = new picture ('4.gif','Text4') ;
pict[4] = new picture ('5.gif','Text5') ;
function picture(picUrl,picText) {
this.pUrl=picUrl;
this.pText=picText;
}
function preload(){
for(i=0; i<pict.length; i++){
pict[i] = new Image();
pict[i].src = imgsDir+pict[i].pUrl;
}
}
preload() ;
i for-loopen ersätter ett picture-objekt med ett Image-objekt, men försöker sedan hämta pict[ i ].pUrl, när pict[ i ] alltså referar till ett nytt Image-objekt istället.
Att använda anonyma Image-objekt på följande vis ska däremot fungera:
var imgsDir = 'images/' ;
var pict = new Array() ;
pict[0] = new picture ('1.gif','Text1') ;
pict[1] = new picture ('2.gif','Text2') ;
pict[2] = new picture ('3.gif','Text3') ;
pict[3] = new picture ('4.gif','Text4') ;
pict[4] = new picture ('5.gif','Text5') ;
function picture(picUrl,picText) {
this.pUrl=picUrl;
this.pText=picText;
}
function preload(){
for(i=0; i<pict.length; i++){
(new Image()).src = imgsDir+pict[i].pUrl;
}
}
preload();
256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25