ajuda changepic( ) javascript

Inoculado

Power Member
boas ,sou um aprendiz em javascritp e a medida q estava a ler um livro ,reparei neste script, tinha um link inferior com previous Pic e next Pic eu meti o next pic na imagem, agora queria que ele retorna-se ao principio ou que recua-se assim que chega-se ao fim da array(a primeira opçao parece me bem), so q n estou a conseguir ,estou com falta de ideias
sera q podiam ajudar?

meti o else if (condition),
mas n da

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Slideshow</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[

var currentPhoto = 0;
var pics = new Array(  );
for (var i = 0; i < 5; i++) {
  pics[i] = new Image(  );
}
pics[0].src = "1.jpg";
pics[1].src = "2.jpg";
pics[2].src = "3.jpg";
pics[3].src = "4.jpg";
pics[4].src = "5.jpg";

function changePhoto(photo) {
   document.images[0].src = pics[photo].src;
}

function changePic(  ) {
if  (currentPhoto < pics.length) {
    changePhoto(currentPhoto);
      currentPhoto++;

} else {
  }
}
//]]>
</script>
<img src="1.jpg" onclick="changePic(  );return false"/>
</head>
</body>
</html>
 
Última edição:
Precisas de fazer reset à variável currentPhoto no else, ou seja, else { currentPhoto = 0; }. Alternativamente, podes trabalhar com módulos. Por exemplo, se tiveres 20 fotos, o teu código seria algo do género:

Código:
function changePic() {
     changePhoto(currentPhoto);
     currentPhoto = (currentPhoto + 1) % 20;
}
Ou seja, quando chegasses ao final (20ª foto), irias voltar à foto inicial.

Espero que ajude.
 
Back
Topo