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

Javascript

Discussão em 'Web Development' iniciada por Noeljunior, 18 de Abril de 2008. (Respostas: 4; Visualizações: 799)

  1. Noeljunior

    Noeljunior I fold therefore I AM

    Código:
    <html><head>
    <script type="text/javascript">
    function mudar() {
    if (muda.src == "img1.jpg")
    muda.src="img2.jpg";
    else
    if (muda.src == "img2.jpg")
    muda.src="img1.jpg";
    }
    </script>
    </head><body>
    <img src="img1.jpg" name="muda" id="muda" onClick="mudar();">
    </body></html>
    
    Boas
    O objectivo é ao clicar numa imagem, conforme aquela que está carregada ele vai carregar outra.

    O que está mal?


    Cumps
     
    Última edição: 24 de Abril de 2008
  2. hostmake

    hostmake Power Member

    Não estás a usar nem um document.getElement, nem this.src.

    Ou seja ele não vai mudar nada, penso que é por ai !
     
  3. p3dro

    p3dro Power Member

    Como o hostmake disse e bem, não estás a ir buscar o objecto, tens por ex. duas maneiras: passas o objecto como parametro ou usas o getElementById. Acho que não podes fazer isto "... muda.src == "img1.jpg" ..." porque o src devolve-te a path completa, por ex. http://www.dominio.com/img1.jpg, podes por ex. usar o indexOf, que te devolve a posição (>-1 se existir, -1 caso contrário) dessa substring.

    exemplo usando o this
    Código:
    <html>
      <head>
        <script type="text/javascript">
          function mudar(obj) {
            var src=obj.src;
            if (src.indexOf("img1.jpg")>-1){
              obj.src="img2.jpg";
            }
            else if (src.indexOf("img2.jpg")>-1){
              obj.src="img1.jpg";
            }
          }
        </script>
      </head>
      <body>
      <img src="img1.jpg" name="muda" id="muda" onClick="mudar(this);">
      </body>
    </html>
    exemplo usando o getElementById
    Código:
    <html>
      <head>
        <script type="text/javascript">
          function mudar() {
            var obj=document.getElementById("muda");
            var src=obj.src;
            if (src.indexOf("img1.jpg")>-1){
              obj.src="img2.jpg";
            }
            else if (src.indexOf("img2.jpg")>-1){
              obj.src="img1.jpg";
            }
          }
        </script>
      </head>
      <body>
      <img src="img1.jpg" name="muda" id="muda" onClick="mudar();">
      </body>
    </html>
     
  4. Noeljunior

    Noeljunior I fold therefore I AM

    Funcionou, obrigado.

    Outra coisa. Agora preciso de ler a largura de imagens.
    A ideia é redimensionar imagens mantendo a proporção delas mas nunca aumento mais de x de largura e/ou altura. x é constante.
    Logo preciso de saber se a imagem tem mais altura que largura (se é "deitada" ou "em pé") e para isso tenho de comparar a largura com altura:
    <img ... name="ola">
    codigo:
    if ola.width >= ola.height then
    document.write("sim");

    ?


    Cumps
     
  5. hostmake

    hostmake Power Member

    var imagem = document.getElementById(id);
    var altura = imagem.offsetHeight;
    var largura = imagem.offsetWidth;

    if.....
     

Partilhar esta Página