galleri med previous/next problemer

Tags:    javascript

Hej.

Jeg er ikke meget inde i javascript men er alligevel ved at lave et galleri i dette. jeg fandt denne simple opbygning på nettet:

http://javascript.internet.com/image-effects/next-previous-image-gallery.html

Galleriet virker men det virker kun de første 4 billeder. så holder knappen op med at virke. Synes ikke jeg med min meget mangelfulde viden kan se et sted hvor man definerer hvor mange billeder der er i galleriet?

her er min nextPrevious.js:
----------------------------
var myImg= new Array(3)
myImg[0]= "pix01";
myImg[1]= "pix02";
myImg[2]= "pix03";
myImg[3]= "pix04";
myImg[4]= "pix05";
myImg[5]= "pix06";
myImg[6]= "pix07";
myImg[7]= "pix08";
myImg[8]= "pix09";
myImg[9]= "pix10";
myImg[10]= "pix11";
myImg[11]= "pix12";
myImg[12]= "pix13";
myImg[13]= "pix14";
myImg[14]= "pix15";
myImg[15]= "pix16";
myImg[16]= "pix17";
myImg[17]= "pix18";
myImg[18]= "pix19";
myImg[19]= "pix20";
myImg[20]= "pix21";
myImg[21]= "pix22";
myImg[22]= "pix23";
myImg[23]= "pix24";

myImgSrc = "pix/";

myImgEnd = ".jpg"

var i = 0;

function loadImg(){
document.imgSrc.src = myImgSrc + myImg + myImgEnd;
}

function prev(){
if(i<1){
var l = i
} else {
var l = i-=1;
}
document.imgSrc.src = myImgSrc + myImg[l] + myImgEnd;
}

function next(){
if(i>2){
var l = i
} else {
var l = i+=1;
}
document.imgSrc.src = myImgSrc + myImg[l] + myImgEnd;
}

window.onload=loadImg;

------------------------------

Håber der er nogen der kan finde fejlen.

Venlig hilsen Claus




Hej

Hvis billedernes navne består af en fortløbende nummerrække, som i dit eksempel, kan det gøres en smule simplere:

Fold kodeboks ind/udKode 




det som anders skrev virker kun hvis du ikke ligger 0 foran tallet i billederne.

fejlen i det du har er det her:
if(i>2){
var l = i
} else {
var l = i+=1;
}

der gør at indekset aldrig kan blive højere end 3
ret det til:
if(i>=myImg.length-1){
var l = myImg.length-1;
} else {
var l = i+=1;
}




Mange tak for den hurtige hjælp til jer begge.

Jeg prøver det af i morgen.

Venlig hilsen Claus





Hej Claus,

Jeg ville mene at problemet optræder fordi atdu ikke har lavet arrayet stort nok.

var myImg= new Array(3)

Arrayets størrelse skal være over 3, for at der kan være flere billeder.

Med venlig hilsen
Ieet





t