Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nutshell

Como posso fazer para que esse objeto mova-se para cima? (detalhes)

Recommended Posts

Tenho um pequeno código que faz com que uma imagem se mova quando botões são acionados... Mas o problema, ela está movendo para baixo e para a esquerda da tela, como posso fazer para que a imagem suba? Tentei usar "bottom" em vez de "top" e "left" mas não funcionou.

 

Aqui está o código(Top = desce a imagem)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
  #imagemNome{
    position: relative;
  }

</style>
<script language="JavaScript" type="text/javascript">
  i = 0;
  function Seguir() {
    i = i + 2;
    document.getElementById("imagemNome").style.left = i;
    if (i <= 1000) {
      window.setTimeout ("Seguir()", 100);
    }
  }
    function MoverParaBaixo() {
    i = i + 5;
    document.getElementById("imagemNome").style.top = i;
    if (i <= 1000) {
      window.setTimeout ("Seguir()", 100);
    }
  }
  function MoverParaCima() {
    i = i + 5;
    document.getElementById("imagemNome").style.bottom = i;
    if (i <= 1000) {
      window.setTimeout ("Seguir()", 100);
    }
  }
</script>

</head>

<body >
  <center>
      <table>
         <tr>
            <td><input type="button" value="→" onclick="Seguir()"></td>
            <td><input type="button" value="↓" onclick="MoverParaBaixo()"></td>
            <td><input type="button" value="↑" onclick="MoverParaCima()"></td>
      </table>
   </center>
<img src="passaro.gif" id="imagemNome">
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

É esse código mesmo?

Pelo que eu entendi dele, ele nunca vai mover para baixo e nem para cima, sempre para a direita da tela. Em todo setTimeout() você está chamando a função de mover na lateral.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

É esse código mesmo?

Pelo que eu entendi dele, ele nunca vai mover para baixo e nem para cima, sempre para a direita da tela. Em todo setTimeout() você está chamando a função de mover na lateral.

Ih, cara é esse mesmo.. E ele tá movendo sim para baixo e.e. Poderia me dizer alguma outra maneira de eu está fazendo isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar números negativos, assim você inverte a posição.

 

Lembrando que se for colocar um bottom, você precisa antes zerar o top que havia, senão, não haverá efeito.

Mas uma forma muito mais eficaz é utilizar css 3 transitions, no lugar do setTimeout

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.