Avatar billede hannalina Nybegynder
27. oktober 2006 - 13:24 Der er 8 kommentarer og
1 løsning

array følger andet array

Hej!

Er i gang med at lave et gallery hvor der vises et stort billede og et antal thumbnails. Alle billeder bliver hentet ind som jpg's og er listede i array:largeValues og array:thumbValues. Nedenstående script virker fint med at man kan klike på thumbnailsen for at se billederne i stort.
Men der må være en smartere måde at fortælle vilket billed der skal hentes ind når man trykker på thumbnailen?!



_global.largeValues = new Array("01", "02", "03", "04");
_global.largeNum = _global.largeValues.length;
_global.curLarge = 0;
_global.thumbValues = new Array("thumb1", "thumb2", "thumb3", "thumb4");
_global.thumbNum = _global.thumbValues.length;
_global.curThumb = 0;
_global.bSpace = 4;
var duplicate:MovieClip;
for (var i = 1; i<=_global.thumbNum; i++) {
    var newX:Number = (i-1)*(thumbHolder._width+_global.bSpace)+16;
    duplicate = thumbHolder.duplicateMovieClip("thumbHolder"+i, i, {_x:newX});
    trace(duplicate);
    var myMCL:MovieClipLoader = new MovieClipLoader();
    myMCL.loadClip("images/"+_global.thumbValues[i-1]+".jpg", eval("thumbHolder"+i).imageHolder);

var myMCL:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
myMCL.loadClip("images/"+_global.largeValues[_global.curLarge]+".jpg", a);
myMCL.addListener(listener);
listener.onLoadComplete = function() {
    mcLoader._visible = false;
};
thumbHolder1.onRelease = function() {
    myMCL.loadClip("images/"+_global.largeValues[0]+".jpg", a);
};
thumbHolder2.onRelease = function() {
    myMCL.loadClip("images/"+_global.largeValues[1]+".jpg", a);
};
thumbHolder3.onRelease = function() {
    myMCL.loadClip("images/"+_global.largeValues[2]+".jpg", a);
};
thumbHolder4.onRelease = function() {
    myMCL.loadClip("images/"+_global.largeValues[3]+".jpg", a);
};
thumbHolder5.onRelease = function() {
    myMCL.loadClip("images/"+_global.largeValues[4]+".jpg", a);
};


Jeg forestiller mig npget à la
eval("thumbHolder"+i).onRelease = function() {
    myMCL.loadClip("images/"+_global.largeValues[?]+".jpg", a);
}             

Men hvad skal der stå i []? Kan jeg lave en ny array hvor largeValues og thumbValues følges ad?

VH
Hanna
Avatar billede rohaje Nybegynder
27. oktober 2006 - 13:31 #1
for(var n=0;n<_global.largeNum;n++){
var thumbHolder=this["thumbHolder5"+(n+1)];
thumbHolder.val=largeValue[n];
thumbHolder.onRelease=getImage;
}
function getImage(){
myMCL.loadClip("images/"+this.val+".jpg", a);
}
Avatar billede rohaje Nybegynder
27. oktober 2006 - 13:34 #2
i princippet :)
du må selv lige pakke det ind i det andet loop
Avatar billede hannalina Nybegynder
27. oktober 2006 - 14:00 #3
ok....tak for hurtig svar...er lidt ny med det her og fatter lidt langsomt :-)
skal den kode du skriver stå efter:
myMCL.loadClip("images/"+_global.thumbValues[i-1]+".jpg", eval("thumbHolder"+i).imageHolder);
}
og hvorfor ["thumbHolder5"]? jeg vil jo gerne kunne slette de andre
thumbHolder1,2 osv.onRelease = function() {
    myMCL.loadClip("images/"+_global.largeValues[1,2 osv]+".jpg", a);
};
Avatar billede hannalina Nybegynder
27. oktober 2006 - 14:05 #4
Med andre ord må du meget gerne skære det ud i pap for mig! :-)
Avatar billede hannalina Nybegynder
27. oktober 2006 - 14:10 #5
ok...det virker næsten....thumbnailsen bliver til knappe allesammen men kan åbenbart ikke finde billedet....er der noget galt med
myMCL.loadClip("images/"+this.val+".jpg", a);
}
Error opening URL "file:///C|/Documents%20and%20Settings/Administrator/Desktop/gallery%5Fforside/images/undefined.jpg"
Avatar billede hannalina Nybegynder
27. oktober 2006 - 14:18 #6
perfekt....det virker! det var et s på largeValues der var kommet væk i din kode og derfor heller ikke kom med da jeg copy-pastede den!!
Smid et svar og du får dine points!
Tak og god weekend!
Avatar billede rohaje Nybegynder
27. oktober 2006 - 14:22 #7
_global.largeValues = new Array("01", "02", "03", "04");
_global.largeNum = _global.largeValues.length;
_global.curLarge = 0;
_global.thumbValues = new Array("thumb1", "thumb2", "thumb3", "thumb4");
_global.thumbNum = thumbValues.length;
_global.curThumb = 0;
_global.bSpace = 4;
var duplicate:MovieClip;
var myMCL:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
myMCL.addListener(listener);
listener.onLoadComplete = function() {
    mcLoader._visible = false;
};
function imageAct() {
    myMCL.loadClip("images/"+this.val+".jpg", a);
}
for (var i = 1; i<=thumbNum; i++) {
    var newX:Number = (i-1)*(thumbHolder._width+bSpace)+16;
    duplicate = thumbHolder.duplicateMovieClip("thumbHolder"+i, i, {_x:newX});
    trace(duplicate.imageHolder);
    myMCL.loadClip("images/"+thumbValues[i-1]+".jpg", duplicate.imageHolder);
    duplicate.val = largeValues[i];
    duplicate.onRelease = imageAct;
}
Avatar billede rohaje Nybegynder
27. oktober 2006 - 14:23 #8
nå okay.. et svar :)
Avatar billede rohaje Nybegynder
31. oktober 2006 - 14:50 #9
tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester