1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

ajuda changepic( ) javascript

Discussão em 'Web Development' iniciada por Inoculado, 25 de Abril de 2009. (Respostas: 2; Visualizações: 550)

  1. Inoculado

    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: 25 de Abril de 2009
  2. AliFromCairo

    AliFromCairo Power Member

    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.
     
  3. Inoculado

    Inoculado Power Member

    obrigado , vou explorar essa possibilidade
     

Partilhar esta Página